Home | History | Annotate | Download | only in mtp
      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       */
    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