1 /*
2  * Copyright (C) 2010 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.mtp;
18 
19 /**
20  * A class containing constants in the MTP and PTP specifications.
21  */
22 public final class MtpConstants {
23 
24     // MTP Data Types
25     /** @hide */
26     public static final int TYPE_UNDEFINED = 0x0000;
27     /** @hide */
28     public static final int TYPE_INT8 = 0x0001;
29     /** @hide */
30     public static final int TYPE_UINT8 = 0x0002;
31     /** @hide */
32     public static final int TYPE_INT16 = 0x0003;
33     /** @hide */
34     public static final int TYPE_UINT16 = 0x0004;
35     /** @hide */
36     public static final int TYPE_INT32 = 0x0005;
37     /** @hide */
38     public static final int TYPE_UINT32 = 0x0006;
39     /** @hide */
40     public static final int TYPE_INT64 = 0x0007;
41     /** @hide */
42     public static final int TYPE_UINT64 = 0x0008;
43     /** @hide */
44     public static final int TYPE_INT128 = 0x0009;
45     /** @hide */
46     public static final int TYPE_UINT128 = 0x000A;
47     /** @hide */
48     public static final int TYPE_AINT8 = 0x4001;
49     /** @hide */
50     public static final int TYPE_AUINT8 = 0x4002;
51     /** @hide */
52     public static final int TYPE_AINT16 = 0x4003;
53     /** @hide */
54     public static final int TYPE_AUINT16 = 0x4004;
55     /** @hide */
56     public static final int TYPE_AINT32 = 0x4005;
57     /** @hide */
58     public static final int TYPE_AUINT32 = 0x4006;
59     /** @hide */
60     public static final int TYPE_AINT64 = 0x4007;
61     /** @hide */
62     public static final int TYPE_AUINT64 = 0x4008;
63     /** @hide */
64     public static final int TYPE_AINT128 = 0x4009;
65     /** @hide */
66     public static final int TYPE_AUINT128 = 0x400A;
67     /** @hide */
68     public static final int TYPE_STR = 0xFFFF;
69 
70     // MTP Response Codes
71     /** @hide */
72     public static final int RESPONSE_UNDEFINED = 0x2000;
73     /** @hide */
74     public static final int RESPONSE_OK = 0x2001;
75     /** @hide */
76     public static final int RESPONSE_GENERAL_ERROR = 0x2002;
77     /** @hide */
78     public static final int RESPONSE_SESSION_NOT_OPEN = 0x2003;
79     /** @hide */
80     public static final int RESPONSE_INVALID_TRANSACTION_ID = 0x2004;
81     /** @hide */
82     public static final int RESPONSE_OPERATION_NOT_SUPPORTED = 0x2005;
83     /** @hide */
84     public static final int RESPONSE_PARAMETER_NOT_SUPPORTED = 0x2006;
85     /** @hide */
86     public static final int RESPONSE_INCOMPLETE_TRANSFER = 0x2007;
87     /** @hide */
88     public static final int RESPONSE_INVALID_STORAGE_ID = 0x2008;
89     /** @hide */
90     public static final int RESPONSE_INVALID_OBJECT_HANDLE = 0x2009;
91     /** @hide */
92     public static final int RESPONSE_DEVICE_PROP_NOT_SUPPORTED = 0x200A;
93     /** @hide */
94     public static final int RESPONSE_INVALID_OBJECT_FORMAT_CODE = 0x200B;
95     /** @hide */
96     public static final int RESPONSE_STORAGE_FULL = 0x200C;
97     /** @hide */
98     public static final int RESPONSE_OBJECT_WRITE_PROTECTED = 0x200D;
99     /** @hide */
100     public static final int RESPONSE_STORE_READ_ONLY = 0x200E;
101     /** @hide */
102     public static final int RESPONSE_ACCESS_DENIED = 0x200F;
103     /** @hide */
104     public static final int RESPONSE_NO_THUMBNAIL_PRESENT = 0x2010;
105     /** @hide */
106     public static final int RESPONSE_SELF_TEST_FAILED = 0x2011;
107     /** @hide */
108     public static final int RESPONSE_PARTIAL_DELETION = 0x2012;
109     /** @hide */
110     public static final int RESPONSE_STORE_NOT_AVAILABLE = 0x2013;
111     /** @hide */
112     public static final int RESPONSE_SPECIFICATION_BY_FORMAT_UNSUPPORTED = 0x2014;
113     /** @hide */
114     public static final int RESPONSE_NO_VALID_OBJECT_INFO = 0x2015;
115     /** @hide */
116     public static final int RESPONSE_INVALID_CODE_FORMAT = 0x2016;
117     /** @hide */
118     public static final int RESPONSE_UNKNOWN_VENDOR_CODE = 0x2017;
119     /** @hide */
120     public static final int RESPONSE_CAPTURE_ALREADY_TERMINATED = 0x2018;
121     /** @hide */
122     public static final int RESPONSE_DEVICE_BUSY = 0x2019;
123     /** @hide */
124     public static final int RESPONSE_INVALID_PARENT_OBJECT = 0x201A;
125     /** @hide */
126     public static final int RESPONSE_INVALID_DEVICE_PROP_FORMAT = 0x201B;
127     /** @hide */
128     public static final int RESPONSE_INVALID_DEVICE_PROP_VALUE = 0x201C;
129     /** @hide */
130     public static final int RESPONSE_INVALID_PARAMETER = 0x201D;
131     /** @hide */
132     public static final int RESPONSE_SESSION_ALREADY_OPEN = 0x201E;
133     /** @hide */
134     public static final int RESPONSE_TRANSACTION_CANCELLED = 0x201F;
135     /** @hide */
136     public static final int RESPONSE_SPECIFICATION_OF_DESTINATION_UNSUPPORTED = 0x2020;
137     /** @hide */
138     public static final int RESPONSE_INVALID_OBJECT_PROP_CODE = 0xA801;
139     /** @hide */
140     public static final int RESPONSE_INVALID_OBJECT_PROP_FORMAT = 0xA802;
141     /** @hide */
142     public static final int RESPONSE_INVALID_OBJECT_PROP_VALUE = 0xA803;
143     /** @hide */
144     public static final int RESPONSE_INVALID_OBJECT_REFERENCE = 0xA804;
145     /** @hide */
146     public static final int RESPONSE_GROUP_NOT_SUPPORTED = 0xA805;
147     /** @hide */
148     public static final int RESPONSE_INVALID_DATASET = 0xA806;
149     /** @hide */
150     public static final int RESPONSE_SPECIFICATION_BY_GROUP_UNSUPPORTED = 0xA807;
151     /** @hide */
152     public static final int RESPONSE_SPECIFICATION_BY_DEPTH_UNSUPPORTED = 0xA808;
153     /** @hide */
154     public static final int RESPONSE_OBJECT_TOO_LARGE = 0xA809;
155     /** @hide */
156     public static final int RESPONSE_OBJECT_PROP_NOT_SUPPORTED = 0xA80A;
157 
158     // MTP format codes
159     /** Undefined format code */
160     public static final int FORMAT_UNDEFINED = 0x3000;
161     /** Format code for associations (folders and directories) */
162     public static final int FORMAT_ASSOCIATION = 0x3001;
163     /** Format code for script files */
164     public static final int FORMAT_SCRIPT = 0x3002;
165     /** Format code for executable files */
166     public static final int FORMAT_EXECUTABLE = 0x3003;
167     /** Format code for text files */
168     public static final int FORMAT_TEXT = 0x3004;
169     /** Format code for HTML files */
170     public static final int FORMAT_HTML = 0x3005;
171     /** Format code for DPOF files */
172     public static final int FORMAT_DPOF = 0x3006;
173     /** Format code for AIFF audio files */
174     public static final int FORMAT_AIFF = 0x3007;
175     /** Format code for WAV audio files */
176     public static final int FORMAT_WAV = 0x3008;
177     /** Format code for MP3 audio files */
178     public static final int FORMAT_MP3 = 0x3009;
179     /** Format code for AVI video files */
180     public static final int FORMAT_AVI = 0x300A;
181     /** Format code for MPEG video files */
182     public static final int FORMAT_MPEG = 0x300B;
183     /** Format code for ASF files */
184     public static final int FORMAT_ASF = 0x300C;
185     /** Format code for JPEG image files */
186     public static final int FORMAT_EXIF_JPEG = 0x3801;
187     /** Format code for TIFF EP image files */
188     public static final int FORMAT_TIFF_EP = 0x3802;
189     /** Format code for BMP image files */
190     public static final int FORMAT_BMP = 0x3804;
191     /** Format code for GIF image files */
192     public static final int FORMAT_GIF = 0x3807;
193     /** Format code for JFIF image files */
194     public static final int FORMAT_JFIF = 0x3808;
195     /** Format code for PICT image files */
196     public static final int FORMAT_PICT = 0x380A;
197     /** Format code for PNG image files */
198     public static final int FORMAT_PNG = 0x380B;
199     /** Format code for TIFF image files */
200     public static final int FORMAT_TIFF = 0x380D;
201     /** Format code for JP2 files */
202     public static final int FORMAT_JP2 = 0x380F;
203     /** Format code for JPX files */
204     public static final int FORMAT_JPX = 0x3810;
205     /** Format code for firmware files */
206     public static final int FORMAT_UNDEFINED_FIRMWARE = 0xB802;
207     /** Format code for Windows image files */
208     public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 0xB881;
209     /** Format code for undefined audio files files */
210     public static final int FORMAT_UNDEFINED_AUDIO = 0xB900;
211     /** Format code for WMA audio files */
212     public static final int FORMAT_WMA = 0xB901;
213     /** Format code for OGG audio files */
214     public static final int FORMAT_OGG = 0xB902;
215     /** Format code for AAC audio files */
216     public static final int FORMAT_AAC = 0xB903;
217     /** Format code for Audible audio files */
218     public static final int FORMAT_AUDIBLE = 0xB904;
219     /** Format code for FLAC audio files */
220     public static final int FORMAT_FLAC = 0xB906;
221     /** Format code for undefined video files */
222     public static final int FORMAT_UNDEFINED_VIDEO = 0xB980;
223     /** Format code for WMV video files */
224     public static final int FORMAT_WMV = 0xB981;
225     /** Format code for MP4 files */
226     public static final int FORMAT_MP4_CONTAINER = 0xB982;
227     /** Format code for MP2 files */
228     public static final int FORMAT_MP2 = 0xB983;
229     /** Format code for 3GP files */
230     public static final int FORMAT_3GP_CONTAINER = 0xB984;
231     /** Format code for undefined collections */
232     public static final int FORMAT_UNDEFINED_COLLECTION = 0xBA00;
233     /** Format code for multimedia albums */
234     public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 0xBA01;
235     /** Format code for image albums */
236     public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 0xBA02;
237     /** Format code for audio albums */
238     public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 0xBA03;
239     /** Format code for video albums */
240     public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 0xBA04;
241     /** Format code for abstract AV playlists */
242     public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 0xBA05;
243     /** Format code for abstract audio playlists */
244     public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 0xBA09;
245     /** Format code for abstract video playlists */
246     public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 0xBA0A;
247     /** Format code for abstract mediacasts */
248     public static final int FORMAT_ABSTRACT_MEDIACAST = 0xBA0B;
249     /** Format code for WPL playlist files */
250     public static final int FORMAT_WPL_PLAYLIST = 0xBA10;
251     /** Format code for M3u playlist files */
252     public static final int FORMAT_M3U_PLAYLIST = 0xBA11;
253     /** Format code for MPL playlist files */
254     public static final int FORMAT_MPL_PLAYLIST = 0xBA12;
255     /** Format code for ASX playlist files */
256     public static final int FORMAT_ASX_PLAYLIST = 0xBA13;
257     /** Format code for PLS playlist files */
258     public static final int FORMAT_PLS_PLAYLIST = 0xBA14;
259     /** Format code for undefined document files */
260     public static final int FORMAT_UNDEFINED_DOCUMENT = 0xBA80;
261     /** Format code for abstract documents */
262     public static final int FORMAT_ABSTRACT_DOCUMENT = 0xBA81;
263     /** Format code for XML documents */
264     public static final int FORMAT_XML_DOCUMENT = 0xBA82;
265     /** Format code for MS Word documents */
266     public static final int FORMAT_MS_WORD_DOCUMENT = 0xBA83;
267     /** Format code for MS Excel spreadsheets */
268     public static final int FORMAT_MS_EXCEL_SPREADSHEET = 0xBA85;
269     /** Format code for MS PowerPoint presentatiosn */
270     public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 0xBA86;
271 
272     /**
273       * Returns true if the object is abstract (that is, it has no representation
274       * in the underlying file system).
275       *
276       * @param format the format of the object
277       * @return true if the object is abstract
278       */
isAbstractObject(int format)279     public static boolean isAbstractObject(int format) {
280         switch (format) {
281             case FORMAT_ABSTRACT_MULTIMEDIA_ALBUM:
282             case FORMAT_ABSTRACT_IMAGE_ALBUM:
283             case FORMAT_ABSTRACT_AUDIO_ALBUM:
284             case FORMAT_ABSTRACT_VIDEO_ALBUM:
285             case FORMAT_ABSTRACT_AV_PLAYLIST:
286             case FORMAT_ABSTRACT_AUDIO_PLAYLIST:
287             case FORMAT_ABSTRACT_VIDEO_PLAYLIST:
288             case FORMAT_ABSTRACT_MEDIACAST:
289             case FORMAT_ABSTRACT_DOCUMENT:
290                 return true;
291             default:
292                 return false;
293         }
294     }
295 
296     // MTP object properties
297     /** @hide */
298     public static final int PROPERTY_STORAGE_ID = 0xDC01;
299     /** @hide */
300     public static final int PROPERTY_OBJECT_FORMAT = 0xDC02;
301     /** @hide */
302     public static final int PROPERTY_PROTECTION_STATUS = 0xDC03;
303     /** @hide */
304     public static final int PROPERTY_OBJECT_SIZE = 0xDC04;
305     /** @hide */
306     public static final int PROPERTY_ASSOCIATION_TYPE = 0xDC05;
307     /** @hide */
308     public static final int PROPERTY_ASSOCIATION_DESC = 0xDC06;
309     /** @hide */
310     public static final int PROPERTY_OBJECT_FILE_NAME = 0xDC07;
311     /** @hide */
312     public static final int PROPERTY_DATE_CREATED = 0xDC08;
313     /** @hide */
314     public static final int PROPERTY_DATE_MODIFIED = 0xDC09;
315     /** @hide */
316     public static final int PROPERTY_KEYWORDS = 0xDC0A;
317     /** @hide */
318     public static final int PROPERTY_PARENT_OBJECT = 0xDC0B;
319     /** @hide */
320     public static final int PROPERTY_ALLOWED_FOLDER_CONTENTS = 0xDC0C;
321     /** @hide */
322     public static final int PROPERTY_HIDDEN = 0xDC0D;
323     /** @hide */
324     public static final int PROPERTY_SYSTEM_OBJECT = 0xDC0E;
325     /** @hide */
326     public static final int PROPERTY_PERSISTENT_UID = 0xDC41;
327     /** @hide */
328     public static final int PROPERTY_SYNC_ID = 0xDC42;
329     /** @hide */
330     public static final int PROPERTY_PROPERTY_BAG = 0xDC43;
331     /** @hide */
332     public static final int PROPERTY_NAME = 0xDC44;
333     /** @hide */
334     public static final int PROPERTY_CREATED_BY = 0xDC45;
335     /** @hide */
336     public static final int PROPERTY_ARTIST = 0xDC46;
337     /** @hide */
338     public static final int PROPERTY_DATE_AUTHORED = 0xDC47;
339     /** @hide */
340     public static final int PROPERTY_DESCRIPTION = 0xDC48;
341     /** @hide */
342     public static final int PROPERTY_URL_REFERENCE = 0xDC49;
343     /** @hide */
344     public static final int PROPERTY_LANGUAGE_LOCALE = 0xDC4A;
345     /** @hide */
346     public static final int PROPERTY_COPYRIGHT_INFORMATION = 0xDC4B;
347     /** @hide */
348     public static final int PROPERTY_SOURCE = 0xDC4C;
349     /** @hide */
350     public static final int PROPERTY_ORIGIN_LOCATION = 0xDC4D;
351     /** @hide */
352     public static final int PROPERTY_DATE_ADDED = 0xDC4E;
353     /** @hide */
354     public static final int PROPERTY_NON_CONSUMABLE = 0xDC4F;
355     /** @hide */
356     public static final int PROPERTY_CORRUPT_UNPLAYABLE = 0xDC50;
357     /** @hide */
358     public static final int PROPERTY_PRODUCER_SERIAL_NUMBER = 0xDC51;
359     /** @hide */
360     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_FORMAT = 0xDC81;
361     /** @hide */
362     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_SIZE = 0xDC82;
363     /** @hide */
364     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_HEIGHT = 0xDC83;
365     /** @hide */
366     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_WIDTH = 0xDC84;
367     /** @hide */
368     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_DURATION = 0xDC85;
369     /** @hide */
370     public static final int PROPERTY_REPRESENTATIVE_SAMPLE_DATA = 0xDC86;
371     /** @hide */
372     public static final int PROPERTY_WIDTH = 0xDC87;
373     /** @hide */
374     public static final int PROPERTY_HEIGHT = 0xDC88;
375     /** @hide */
376     public static final int PROPERTY_DURATION = 0xDC89;
377     /** @hide */
378     public static final int PROPERTY_RATING = 0xDC8A;
379     /** @hide */
380     public static final int PROPERTY_TRACK = 0xDC8B;
381     /** @hide */
382     public static final int PROPERTY_GENRE = 0xDC8C;
383     /** @hide */
384     public static final int PROPERTY_CREDITS = 0xDC8D;
385     /** @hide */
386     public static final int PROPERTY_LYRICS = 0xDC8E;
387     /** @hide */
388     public static final int PROPERTY_SUBSCRIPTION_CONTENT_ID = 0xDC8F;
389     /** @hide */
390     public static final int PROPERTY_PRODUCED_BY = 0xDC90;
391     /** @hide */
392     public static final int PROPERTY_USE_COUNT = 0xDC91;
393     /** @hide */
394     public static final int PROPERTY_SKIP_COUNT = 0xDC92;
395     /** @hide */
396     public static final int PROPERTY_LAST_ACCESSED = 0xDC93;
397     /** @hide */
398     public static final int PROPERTY_PARENTAL_RATING = 0xDC94;
399     /** @hide */
400     public static final int PROPERTY_META_GENRE = 0xDC95;
401     /** @hide */
402     public static final int PROPERTY_COMPOSER = 0xDC96;
403     /** @hide */
404     public static final int PROPERTY_EFFECTIVE_RATING = 0xDC97;
405     /** @hide */
406     public static final int PROPERTY_SUBTITLE = 0xDC98;
407     /** @hide */
408     public static final int PROPERTY_ORIGINAL_RELEASE_DATE = 0xDC99;
409     /** @hide */
410     public static final int PROPERTY_ALBUM_NAME = 0xDC9A;
411     /** @hide */
412     public static final int PROPERTY_ALBUM_ARTIST = 0xDC9B;
413     /** @hide */
414     public static final int PROPERTY_MOOD = 0xDC9C;
415     /** @hide */
416     public static final int PROPERTY_DRM_STATUS = 0xDC9D;
417     /** @hide */
418     public static final int PROPERTY_SUB_DESCRIPTION = 0xDC9E;
419     /** @hide */
420     public static final int PROPERTY_IS_CROPPED = 0xDCD1;
421     /** @hide */
422     public static final int PROPERTY_IS_COLOUR_CORRECTED = 0xDCD2;
423     /** @hide */
424     public static final int PROPERTY_IMAGE_BIT_DEPTH = 0xDCD3;
425     /** @hide */
426     public static final int PROPERTY_F_NUMBER = 0xDCD4;
427     /** @hide */
428     public static final int PROPERTY_EXPOSURE_TIME = 0xDCD5;
429     /** @hide */
430     public static final int PROPERTY_EXPOSURE_INDEX = 0xDCD6;
431     /** @hide */
432     public static final int PROPERTY_TOTAL_BITRATE = 0xDE91;
433     /** @hide */
434     public static final int PROPERTY_BITRATE_TYPE = 0xDE92;
435     /** @hide */
436     public static final int PROPERTY_SAMPLE_RATE = 0xDE93;
437     /** @hide */
438     public static final int PROPERTY_NUMBER_OF_CHANNELS = 0xDE94;
439     /** @hide */
440     public static final int PROPERTY_AUDIO_BIT_DEPTH = 0xDE95;
441     /** @hide */
442     public static final int PROPERTY_SCAN_TYPE = 0xDE97;
443     /** @hide */
444     public static final int PROPERTY_AUDIO_WAVE_CODEC = 0xDE99;
445     /** @hide */
446     public static final int PROPERTY_AUDIO_BITRATE = 0xDE9A;
447     /** @hide */
448     public static final int PROPERTY_VIDEO_FOURCC_CODEC = 0xDE9B;
449     /** @hide */
450     public static final int PROPERTY_VIDEO_BITRATE = 0xDE9C;
451     /** @hide */
452     public static final int PROPERTY_FRAMES_PER_THOUSAND_SECONDS = 0xDE9D;
453     /** @hide */
454     public static final int PROPERTY_KEYFRAME_DISTANCE = 0xDE9E;
455     /** @hide */
456     public static final int PROPERTY_BUFFER_SIZE = 0xDE9F;
457     /** @hide */
458     public static final int PROPERTY_ENCODING_QUALITY = 0xDEA0;
459     /** @hide */
460     public static final int PROPERTY_ENCODING_PROFILE = 0xDEA1;
461     /** @hide */
462     public static final int PROPERTY_DISPLAY_NAME = 0xDCE0;
463 
464     // MTP device properties
465     /** @hide */
466     public static final int DEVICE_PROPERTY_UNDEFINED = 0x5000;
467     /** @hide */
468     public static final int DEVICE_PROPERTY_BATTERY_LEVEL = 0x5001;
469     /** @hide */
470     public static final int DEVICE_PROPERTY_FUNCTIONAL_MODE = 0x5002;
471     /** @hide */
472     public static final int DEVICE_PROPERTY_IMAGE_SIZE = 0x5003;
473     /** @hide */
474     public static final int DEVICE_PROPERTY_COMPRESSION_SETTING = 0x5004;
475     /** @hide */
476     public static final int DEVICE_PROPERTY_WHITE_BALANCE = 0x5005;
477     /** @hide */
478     public static final int DEVICE_PROPERTY_RGB_GAIN = 0x5006;
479     /** @hide */
480     public static final int DEVICE_PROPERTY_F_NUMBER = 0x5007;
481     /** @hide */
482     public static final int DEVICE_PROPERTY_FOCAL_LENGTH = 0x5008;
483     /** @hide */
484     public static final int DEVICE_PROPERTY_FOCUS_DISTANCE = 0x5009;
485     /** @hide */
486     public static final int DEVICE_PROPERTY_FOCUS_MODE = 0x500A;
487     /** @hide */
488     public static final int DEVICE_PROPERTY_EXPOSURE_METERING_MODE = 0x500B;
489     /** @hide */
490     public static final int DEVICE_PROPERTY_FLASH_MODE = 0x500C;
491     /** @hide */
492     public static final int DEVICE_PROPERTY_EXPOSURE_TIME = 0x500D;
493     /** @hide */
494     public static final int DEVICE_PROPERTY_EXPOSURE_PROGRAM_MODE = 0x500E;
495     /** @hide */
496     public static final int DEVICE_PROPERTY_EXPOSURE_INDEX = 0x500F;
497     /** @hide */
498     public static final int DEVICE_PROPERTY_EXPOSURE_BIAS_COMPENSATION = 0x5010;
499     /** @hide */
500     public static final int DEVICE_PROPERTY_DATETIME = 0x5011;
501     /** @hide */
502     public static final int DEVICE_PROPERTY_CAPTURE_DELAY = 0x5012;
503     /** @hide */
504     public static final int DEVICE_PROPERTY_STILL_CAPTURE_MODE = 0x5013;
505     /** @hide */
506     public static final int DEVICE_PROPERTY_CONTRAST = 0x5014;
507     /** @hide */
508     public static final int DEVICE_PROPERTY_SHARPNESS = 0x5015;
509     /** @hide */
510     public static final int DEVICE_PROPERTY_DIGITAL_ZOOM = 0x5016;
511     /** @hide */
512     public static final int DEVICE_PROPERTY_EFFECT_MODE = 0x5017;
513     /** @hide */
514     public static final int DEVICE_PROPERTY_BURST_NUMBER= 0x5018;
515     /** @hide */
516     public static final int DEVICE_PROPERTY_BURST_INTERVAL = 0x5019;
517     /** @hide */
518     public static final int DEVICE_PROPERTY_TIMELAPSE_NUMBER = 0x501A;
519     /** @hide */
520     public static final int DEVICE_PROPERTY_TIMELAPSE_INTERVAL = 0x501B;
521     /** @hide */
522     public static final int DEVICE_PROPERTY_FOCUS_METERING_MODE = 0x501C;
523     /** @hide */
524     public static final int DEVICE_PROPERTY_UPLOAD_URL = 0x501D;
525     /** @hide */
526     public static final int DEVICE_PROPERTY_ARTIST = 0x501E;
527     /** @hide */
528     public static final int DEVICE_PROPERTY_COPYRIGHT_INFO = 0x501F;
529     /** @hide */
530     public static final int DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER = 0xD401;
531     /** @hide */
532     public static final int DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME = 0xD402;
533     /** @hide */
534     public static final int DEVICE_PROPERTY_VOLUME = 0xD403;
535     /** @hide */
536     public static final int DEVICE_PROPERTY_SUPPORTED_FORMATS_ORDERED = 0xD404;
537     /** @hide */
538     public static final int DEVICE_PROPERTY_DEVICE_ICON = 0xD405;
539     /** @hide */
540     public static final int DEVICE_PROPERTY_PLAYBACK_RATE = 0xD410;
541     /** @hide */
542     public static final int DEVICE_PROPERTY_PLAYBACK_OBJECT = 0xD411;
543     /** @hide */
544     public static final int DEVICE_PROPERTY_PLAYBACK_CONTAINER_INDEX = 0xD412;
545     /** @hide */
546     public static final int DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO = 0xD406;
547     /** @hide */
548     public static final int DEVICE_PROPERTY_PERCEIVED_DEVICE_TYPE = 0xD407;
549 
550     /**
551      * Object is not protected. It may be modified and deleted, and its properties
552      * may be modified.
553      */
554     public static final int PROTECTION_STATUS_NONE = 0;
555 
556     /**
557      * Object can not be modified or deleted and its properties can not be modified.
558      */
559     public static final int PROTECTION_STATUS_READ_ONLY = 0x8001;
560 
561     /**
562      * Object can not be modified or deleted but its properties are modifiable.
563      */
564     public static final int PROTECTION_STATUS_READ_ONLY_DATA = 0x8002;
565 
566     /**
567      * Object's contents can not be transfered from the device, but the object
568      * may be moved or deleted and its properties may be modified.
569      */
570     public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 0x8003;
571 
572     /**
573      * Association type for objects representing file system directories.
574      */
575     public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 0x0001;
576 }
577