diff options
| author | 2010-08-30 13:23:02 -0400 | |
|---|---|---|
| committer | 2010-08-30 13:35:03 -0400 | |
| commit | 5367ab6aab2a61aaf534b18576dcdd0bca1b9681 (patch) | |
| tree | 059f91f5962b197f9629163adcc4ce0361cd125f | |
| parent | daeeddc5ede07970fcf782611dd98fa057573ec4 (diff) | |
MTP: Move all MTP protocol constants for Java to a central location.
Change-Id: I770d8727f84d25f0781fc23eedd9e9ac9ded1992
Signed-off-by: Mike Lockwood <lockwood@android.com>
| -rw-r--r-- | core/java/android/provider/Mtp.java | 108 | ||||
| -rw-r--r-- | media/java/android/media/MediaFile.java | 49 | ||||
| -rw-r--r-- | media/java/android/media/MtpConstants.java | 382 | ||||
| -rw-r--r-- | media/java/android/media/MtpDatabase.java | 105 | ||||
| -rw-r--r-- | media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectBrowser.java | 3 |
5 files changed, 457 insertions, 190 deletions
diff --git a/core/java/android/provider/Mtp.java b/core/java/android/provider/Mtp.java index 26aa7d803cda..0eb53d1d20a0 100644 --- a/core/java/android/provider/Mtp.java +++ b/core/java/android/provider/Mtp.java @@ -233,113 +233,5 @@ public final class Mtp * <P>Type: TEXT</P> */ public static final String KEYWORDS = "keywords"; - - /** - * Contants for {@link #FORMAT} and {@link #THUMB_FORMAT} - */ - public static final int FORMAT_UNDEFINED = 0x3000; - public static final int FORMAT_ASSOCIATION = 0x3001; - public static final int FORMAT_SCRIPT = 0x3002; - public static final int FORMAT_EXECUTABLE = 0x3003; - public static final int FORMAT_TEXT = 0x3004; - public static final int FORMAT_HTML = 0x3005; - public static final int FORMAT_DPOF = 0x3006; - public static final int FORMAT_AIFF = 0x3007; - public static final int FORMAT_WAV = 0x3008; - public static final int FORMAT_MP3 = 0x3009; - public static final int FORMAT_AVI = 0x300A; - public static final int FORMAT_MPEG = 0x300B; - public static final int FORMAT_ASF = 0x300C; - public static final int FORMAT_DEFINED = 0x3800; - public static final int FORMAT_EXIF_JPEG = 0x3801; - public static final int FORMAT_TIFF_EP = 0x3802; - public static final int FORMAT_FLASHPIX = 0x3803; - public static final int FORMAT_BMP = 0x3804; - public static final int FORMAT_CIFF = 0x3805; - public static final int FORMAT_GIF = 0x3807; - public static final int FORMAT_JFIF = 0x3808; - public static final int FORMAT_CD = 0x3809; - public static final int FORMAT_PICT = 0x380A; - public static final int FORMAT_PNG = 0x380B; - public static final int FORMAT_TIFF = 0x380D; - public static final int FORMAT_TIFF_IT = 0x380E; - public static final int FORMAT_JP2 = 0x380F; - public static final int FORMAT_JPX = 0x3810; - public static final int FORMAT_UNDEFINED_FIRMWARE = 0xB802; - public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 0xB881; - public static final int FORMAT_UNDEFINED_AUDIO = 0xB900; - public static final int FORMAT_WMA = 0xB901; - public static final int FORMAT_OGG = 0xB902; - public static final int FORMAT_AAC = 0xB903; - public static final int FORMAT_AUDIBLE = 0xB904; - public static final int FORMAT_FLAC = 0xB906; - public static final int FORMAT_UNDEFINED_VIDEO = 0xB980; - public static final int FORMAT_WMV = 0xB981; - public static final int FORMAT_MP4_CONTAINER = 0xB982; - public static final int FORMAT_MP2 = 0xB983; - public static final int FORMAT_3GP_CONTAINER = 0xB984; - public static final int FORMAT_UNDEFINED_COLLECTION = 0xBA00; - public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 0xBA01; - public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 0xBA02; - public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 0xBA03; - public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 0xBA04; - public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 0xBA05; - public static final int FORMAT_ABSTRACT_CONTACT_GROUP = 0xBA06; - public static final int FORMAT_ABSTRACT_MESSAGE_FOLDER = 0xBA07; - public static final int FORMAT_ABSTRACT_CHAPTERED_PRODUCTION = 0xBA08; - public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 0xBA09; - public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 0xBA0A; - public static final int FORMAT_ABSTRACT_MEDIACAST = 0xBA0B; - public static final int FORMAT_WPL_PLAYLIST = 0xBA10; - public static final int FORMAT_M3U_PLAYLIST = 0xBA11; - public static final int FORMAT_MPL_PLAYLIST = 0xBA12; - public static final int FORMAT_ASX_PLAYLIST = 0xBA13; - public static final int FORMAT_PLS_PLAYLIST = 0xBA14; - public static final int FORMAT_UNDEFINED_DOCUMENT = 0xBA80; - public static final int FORMAT_ABSTRACT_DOCUMENT = 0xBA81; - public static final int FORMAT_XML_DOCUMENT = 0xBA82; - public static final int FORMAT_MS_WORD_DOCUMENT = 0xBA83; - public static final int FORMAT_MHT_COMPILED_HTML_DOCUMENT = 0xBA84; - public static final int FORMAT_MS_EXCEL_SPREADSHEET = 0xBA85; - public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 0xBA86; - public static final int FORMAT_UNDEFINED_MESSAGE = 0xBB00; - public static final int FORMAT_ABSTRACT_MESSSAGE = 0xBB01; - public static final int FORMAT_UNDEFINED_CONTACT = 0xBB80; - public static final int FORMAT_ABSTRACT_CONTACT = 0xBB81; - public static final int FORMAT_VCARD_2 = 0xBB82; - - // Object properties we support - public static final int PROPERTY_STORAGE_ID = 0xDC01; - public static final int PROPERTY_OBJECT_FORMAT = 0xDC02; - public static final int PROPERTY_PROTECTION_STATUS = 0xDC03; - public static final int PROPERTY_OBJECT_SIZE = 0xDC04; - public static final int PROPERTY_OBJECT_FILE_NAME = 0xDC07; - public static final int PROPERTY_DATE_MODIFIED = 0xDC09; - public static final int PROPERTY_PARENT_OBJECT = 0xDC0B; - public static final int PROPERTY_PERSISTENT_UID = 0xDC41; - - /** - * Object is not protected. It may be modified and deleted, and its properties - * may be modified. - */ - public static final int PROTECTION_STATUS_NONE = 0; - - /** - * Object can not be modified or deleted and its properties can not be modified. - */ - public static final int PROTECTION_STATUS_READ_ONLY = 0x8001; - - /** - * Object can not be modified or deleted but its properties are modifiable. - */ - public static final int PROTECTION_STATUS_READ_ONLY_DATA = 0x8002; - - /** - * Object's contents can not be transfered from the device, but the object - * may be moved or deleted and its properties may be modified. - */ - public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 0x8003; - - public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 0x0001; } } diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java index a346ae46201d..fb2480e71610 100644 --- a/media/java/android/media/MediaFile.java +++ b/media/java/android/media/MediaFile.java @@ -20,7 +20,6 @@ import android.content.ContentValues; import android.provider.MediaStore.Audio; import android.provider.MediaStore.Images; import android.provider.MediaStore.Video; -import android.provider.Mtp; import android.media.DecoderCapabilities; import android.media.DecoderCapabilities.VideoDecoder; import android.media.DecoderCapabilities.AudioDecoder; @@ -144,17 +143,17 @@ public class MediaFile { } static { - addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg", Mtp.Object.FORMAT_MP3); - addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", Mtp.Object.FORMAT_MPEG); - addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav", Mtp.Object.FORMAT_WAV); + addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3); + addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", MtpConstants.FORMAT_MPEG); + addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav", MtpConstants.FORMAT_WAV); addFileType("AMR", FILE_TYPE_AMR, "audio/amr"); addFileType("AWB", FILE_TYPE_AWB, "audio/amr-wb"); if (isWMAEnabled()) { - addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma", Mtp.Object.FORMAT_WMA); + addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma", MtpConstants.FORMAT_WMA); } - addFileType("OGG", FILE_TYPE_OGG, "application/ogg", Mtp.Object.FORMAT_OGG); - addFileType("OGA", FILE_TYPE_OGG, "application/ogg", Mtp.Object.FORMAT_OGG); - addFileType("AAC", FILE_TYPE_AAC, "audio/aac", Mtp.Object.FORMAT_AAC); + addFileType("OGG", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG); + addFileType("OGA", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG); + addFileType("AAC", FILE_TYPE_AAC, "audio/aac", MtpConstants.FORMAT_AAC); addFileType("MKA", FILE_TYPE_MKA, "audio/x-matroska"); addFileType("MID", FILE_TYPE_MID, "audio/midi"); @@ -166,32 +165,32 @@ public class MediaFile { addFileType("RTX", FILE_TYPE_MID, "audio/midi"); addFileType("OTA", FILE_TYPE_MID, "audio/midi"); - addFileType("MPEG", FILE_TYPE_MP4, "video/mpeg", Mtp.Object.FORMAT_MPEG); - addFileType("MP4", FILE_TYPE_MP4, "video/mp4", Mtp.Object.FORMAT_MPEG); - addFileType("M4V", FILE_TYPE_M4V, "video/mp4", Mtp.Object.FORMAT_MPEG); - addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", Mtp.Object.FORMAT_3GP_CONTAINER); - addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", Mtp.Object.FORMAT_3GP_CONTAINER); - addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", Mtp.Object.FORMAT_3GP_CONTAINER); - addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2", Mtp.Object.FORMAT_3GP_CONTAINER); + addFileType("MPEG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG); + addFileType("MP4", FILE_TYPE_MP4, "video/mp4", MtpConstants.FORMAT_MPEG); + addFileType("M4V", FILE_TYPE_M4V, "video/mp4", MtpConstants.FORMAT_MPEG); + addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER); + addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER); + addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER); + addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER); addFileType("MKV", FILE_TYPE_MKV, "video/x-matroska"); addFileType("WEBM", FILE_TYPE_MKV, "video/x-matroska"); addFileType("TS", FILE_TYPE_MP2TS, "video/mp2ts"); if (isWMVEnabled()) { - addFileType("WMV", FILE_TYPE_WMV, "video/x-ms-wmv", Mtp.Object.FORMAT_WMV); + addFileType("WMV", FILE_TYPE_WMV, "video/x-ms-wmv", MtpConstants.FORMAT_WMV); addFileType("ASF", FILE_TYPE_ASF, "video/x-ms-asf"); } - addFileType("JPG", FILE_TYPE_JPEG, "image/jpeg", Mtp.Object.FORMAT_EXIF_JPEG); - addFileType("JPEG", FILE_TYPE_JPEG, "image/jpeg", Mtp.Object.FORMAT_EXIF_JPEG); - addFileType("GIF", FILE_TYPE_GIF, "image/gif", Mtp.Object.FORMAT_GIF); - addFileType("PNG", FILE_TYPE_PNG, "image/png", Mtp.Object.FORMAT_PNG); - addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp", Mtp.Object.FORMAT_BMP); + addFileType("JPG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG); + addFileType("JPEG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG); + addFileType("GIF", FILE_TYPE_GIF, "image/gif", MtpConstants.FORMAT_GIF); + addFileType("PNG", FILE_TYPE_PNG, "image/png", MtpConstants.FORMAT_PNG); + addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp", MtpConstants.FORMAT_BMP); addFileType("WBMP", FILE_TYPE_WBMP, "image/vnd.wap.wbmp"); - addFileType("M3U", FILE_TYPE_M3U, "audio/x-mpegurl", Mtp.Object.FORMAT_M3U_PLAYLIST); - addFileType("PLS", FILE_TYPE_PLS, "audio/x-scpls", Mtp.Object.FORMAT_PLS_PLAYLIST); - addFileType("WPL", FILE_TYPE_WPL, "application/vnd.ms-wpl", Mtp.Object.FORMAT_WPL_PLAYLIST); + addFileType("M3U", FILE_TYPE_M3U, "audio/x-mpegurl", MtpConstants.FORMAT_M3U_PLAYLIST); + addFileType("PLS", FILE_TYPE_PLS, "audio/x-scpls", MtpConstants.FORMAT_PLS_PLAYLIST); + addFileType("WPL", FILE_TYPE_WPL, "application/vnd.ms-wpl", MtpConstants.FORMAT_WPL_PLAYLIST); // compute file extensions list for native Media Scanner StringBuilder builder = new StringBuilder(); @@ -255,7 +254,7 @@ public class MediaFile { return value.intValue(); } } - return Mtp.Object.FORMAT_UNDEFINED; + return MtpConstants.FORMAT_UNDEFINED; } public static String getMimeTypeForFormatCode(int formatCode) { diff --git a/media/java/android/media/MtpConstants.java b/media/java/android/media/MtpConstants.java new file mode 100644 index 000000000000..153f64f85fd0 --- /dev/null +++ b/media/java/android/media/MtpConstants.java @@ -0,0 +1,382 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.media; + +/** + * {@hide} + */ +public final class MtpConstants { + +// MTP Response Codes + public static final int RESPONSE_UNDEFINED = 0x2000; + public static final int RESPONSE_OK = 0x2001; + public static final int RESPONSE_GENERAL_ERROR = 0x2002; + public static final int RESPONSE_SESSION_NOT_OPEN = 0x2003; + public static final int RESPONSE_INVALID_TRANSACTION_ID = 0x2004; + public static final int RESPONSE_OPERATION_NOT_SUPPORTED = 0x2005; + public static final int RESPONSE_PARAMETER_NOT_SUPPORTED = 0x2006; + public static final int RESPONSE_INCOMPLETE_TRANSFER = 0x2007; + public static final int RESPONSE_INVALID_STORAGE_ID = 0x2008; + public static final int RESPONSE_INVALID_OBJECT_HANDLE = 0x2009; + public static final int RESPONSE_DEVICE_PROP_NOT_SUPPORTED = 0x200A; + public static final int RESPONSE_INVALID_OBJECT_FORMAT_CODE = 0x200B; + public static final int RESPONSE_STORAGE_FULL = 0x200C; + public static final int RESPONSE_OBJECT_WRITE_PROTECTED = 0x200D; + public static final int RESPONSE_STORE_READ_ONLY = 0x200E; + public static final int RESPONSE_ACCESS_DENIED = 0x200F; + public static final int RESPONSE_NO_THUMBNAIL_PRESENT = 0x2010; + public static final int RESPONSE_SELF_TEST_FAILED = 0x2011; + public static final int RESPONSE_PARTIAL_DELETION = 0x2012; + public static final int RESPONSE_STORE_NOT_AVAILABLE = 0x2013; + public static final int RESPONSE_SPECIFICATION_BY_FORMAT_UNSUPPORTED = 0x2014; + public static final int RESPONSE_NO_VALID_OBJECT_INFO = 0x2015; + public static final int RESPONSE_INVALID_CODE_FORMAT = 0x2016; + public static final int RESPONSE_UNKNOWN_VENDOR_CODE = 0x2017; + public static final int RESPONSE_CAPTURE_ALREADY_TERMINATED = 0x2018; + public static final int RESPONSE_DEVICE_BUSY = 0x2019; + public static final int RESPONSE_INVALID_PARENT_OBJECT = 0x201A; + public static final int RESPONSE_INVALID_DEVICE_PROP_FORMAT = 0x201B; + public static final int RESPONSE_INVALID_DEVICE_PROP_VALUE = 0x201C; + public static final int RESPONSE_INVALID_PARAMETER = 0x201D; + public static final int RESPONSE_SESSION_ALREADY_OPEN = 0x201E; + public static final int RESPONSE_TRANSACTION_CANCELLED = 0x201F; + public static final int RESPONSE_SPECIFICATION_OF_DESTINATION_UNSUPPORTED = 0x2020; + public static final int RESPONSE_INVALID_OBJECT_PROP_CODE = 0xA801; + public static final int RESPONSE_INVALID_OBJECT_PROP_FORMAT = 0xA802; + public static final int RESPONSE_INVALID_OBJECT_PROP_VALUE = 0xA803; + public static final int RESPONSE_INVALID_OBJECT_REFERENCE = 0xA804; + public static final int RESPONSE_GROUP_NOT_SUPPORTED = 0xA805; + public static final int RESPONSE_INVALID_DATASET = 0xA806; + public static final int RESPONSE_SPECIFICATION_BY_GROUP_UNSUPPORTED = 0xA807; + public static final int RESPONSE_SPECIFICATION_BY_DEPTH_UNSUPPORTED = 0xA808; + public static final int RESPONSE_OBJECT_TOO_LARGE = 0xA809; + public static final int RESPONSE_OBJECT_PROP_NOT_SUPPORTED = 0xA80A; + + // MTP format codes + public static final int FORMAT_UNDEFINED = 0x3000; + public static final int FORMAT_ASSOCIATION = 0x3001; + public static final int FORMAT_SCRIPT = 0x3002; + public static final int FORMAT_EXECUTABLE = 0x3003; + public static final int FORMAT_TEXT = 0x3004; + public static final int FORMAT_HTML = 0x3005; + public static final int FORMAT_DPOF = 0x3006; + public static final int FORMAT_AIFF = 0x3007; + public static final int FORMAT_WAV = 0x3008; + public static final int FORMAT_MP3 = 0x3009; + public static final int FORMAT_AVI = 0x300A; + public static final int FORMAT_MPEG = 0x300B; + public static final int FORMAT_ASF = 0x300C; + public static final int FORMAT_DEFINED = 0x3800; + public static final int FORMAT_EXIF_JPEG = 0x3801; + public static final int FORMAT_TIFF_EP = 0x3802; + public static final int FORMAT_FLASHPIX = 0x3803; + public static final int FORMAT_BMP = 0x3804; + public static final int FORMAT_CIFF = 0x3805; + public static final int FORMAT_GIF = 0x3807; + public static final int FORMAT_JFIF = 0x3808; + public static final int FORMAT_CD = 0x3809; + public static final int FORMAT_PICT = 0x380A; + public static final int FORMAT_PNG = 0x380B; + public static final int FORMAT_TIFF = 0x380D; + public static final int FORMAT_TIFF_IT = 0x380E; + public static final int FORMAT_JP2 = 0x380F; + public static final int FORMAT_JPX = 0x3810; + public static final int FORMAT_UNDEFINED_FIRMWARE = 0xB802; + public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 0xB881; + public static final int FORMAT_UNDEFINED_AUDIO = 0xB900; + public static final int FORMAT_WMA = 0xB901; + public static final int FORMAT_OGG = 0xB902; + public static final int FORMAT_AAC = 0xB903; + public static final int FORMAT_AUDIBLE = 0xB904; + public static final int FORMAT_FLAC = 0xB906; + public static final int FORMAT_UNDEFINED_VIDEO = 0xB980; + public static final int FORMAT_WMV = 0xB981; + public static final int FORMAT_MP4_CONTAINER = 0xB982; + public static final int FORMAT_MP2 = 0xB983; + public static final int FORMAT_3GP_CONTAINER = 0xB984; + public static final int FORMAT_UNDEFINED_COLLECTION = 0xBA00; + public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 0xBA01; + public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 0xBA02; + public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 0xBA03; + public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 0xBA04; + public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 0xBA05; + public static final int FORMAT_ABSTRACT_CONTACT_GROUP = 0xBA06; + public static final int FORMAT_ABSTRACT_MESSAGE_FOLDER = 0xBA07; + public static final int FORMAT_ABSTRACT_CHAPTERED_PRODUCTION = 0xBA08; + public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 0xBA09; + public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 0xBA0A; + public static final int FORMAT_ABSTRACT_MEDIACAST = 0xBA0B; + public static final int FORMAT_WPL_PLAYLIST = 0xBA10; + public static final int FORMAT_M3U_PLAYLIST = 0xBA11; + public static final int FORMAT_MPL_PLAYLIST = 0xBA12; + public static final int FORMAT_ASX_PLAYLIST = 0xBA13; + public static final int FORMAT_PLS_PLAYLIST = 0xBA14; + public static final int FORMAT_UNDEFINED_DOCUMENT = 0xBA80; + public static final int FORMAT_ABSTRACT_DOCUMENT = 0xBA81; + public static final int FORMAT_XML_DOCUMENT = 0xBA82; + public static final int FORMAT_MS_WORD_DOCUMENT = 0xBA83; + public static final int FORMAT_MHT_COMPILED_HTML_DOCUMENT = 0xBA84; + public static final int FORMAT_MS_EXCEL_SPREADSHEET = 0xBA85; + public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 0xBA86; + public static final int FORMAT_UNDEFINED_MESSAGE = 0xBB00; + public static final int FORMAT_ABSTRACT_MESSSAGE = 0xBB01; + public static final int FORMAT_UNDEFINED_CONTACT = 0xBB80; + public static final int FORMAT_ABSTRACT_CONTACT = 0xBB81; + public static final int FORMAT_VCARD_2 = 0xBB82; + + // MTP object properties + public static final int PROPERTY_STORAGE_ID = 0xDC01; + public static final int PROPERTY_OBJECT_FORMAT = 0xDC02; + public static final int PROPERTY_PROTECTION_STATUS = 0xDC03; + public static final int PROPERTY_OBJECT_SIZE = 0xDC04; + public static final int PROPERTY_ASSOCIATION_TYPE = 0xDC05; + public static final int PROPERTY_ASSOCIATION_DESC = 0xDC06; + public static final int PROPERTY_OBJECT_FILE_NAME = 0xDC07; + public static final int PROPERTY_DATE_CREATED = 0xDC08; + public static final int PROPERTY_DATE_MODIFIED = 0xDC09; + public static final int PROPERTY_KEYWORDS = 0xDC0A; + public static final int PROPERTY_PARENT_OBJECT = 0xDC0B; + public static final int PROPERTY_ALLOWED_FOLDER_CONTENTS = 0xDC0C; + public static final int PROPERTY_HIDDEN = 0xDC0D; + public static final int PROPERTY_SYSTEM_OBJECT = 0xDC0E; + public static final int PROPERTY_PERSISTENT_UID = 0xDC41; + public static final int PROPERTY_SYNC_ID = 0xDC42; + public static final int PROPERTY_PROPERTY_BAG = 0xDC43; + public static final int PROPERTY_NAME = 0xDC44; + public static final int PROPERTY_CREATED_BY = 0xDC45; + public static final int PROPERTY_ARTIST = 0xDC46; + public static final int PROPERTY_DATE_AUTHORED = 0xDC47; + public static final int PROPERTY_DESCRIPTION = 0xDC48; + public static final int PROPERTY_URL_REFERENCE = 0xDC49; + public static final int PROPERTY_LANGUAGE_LOCALE = 0xDC4A; + public static final int PROPERTY_COPYRIGHT_INFORMATION = 0xDC4B; + public static final int PROPERTY_SOURCE = 0xDC4C; + public static final int PROPERTY_ORIGIN_LOCATION = 0xDC4D; + public static final int PROPERTY_DATE_ADDED = 0xDC4E; + public static final int PROPERTY_NON_CONSUMABLE = 0xDC4F; + public static final int PROPERTY_CORRUPT_UNPLAYABLE = 0xDC50; + public static final int PROPERTY_PRODUCER_SERIAL_NUMBER = 0xDC51; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_FORMAT = 0xDC81; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_SIZE = 0xDC82; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_HEIGHT = 0xDC83; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_WIDTH = 0xDC84; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_DURATION = 0xDC85; + public static final int PROPERTY_REPRESENTATIVE_SAMPLE_DATA = 0xDC86; + public static final int PROPERTY_WIDTH = 0xDC87; + public static final int PROPERTY_HEIGHT = 0xDC88; + public static final int PROPERTY_DURATION = 0xDC89; + public static final int PROPERTY_RATING = 0xDC8A; + public static final int PROPERTY_TRACK = 0xDC8B; + public static final int PROPERTY_GENRE = 0xDC8C; + public static final int PROPERTY_CREDITS = 0xDC8D; + public static final int PROPERTY_LYRICS = 0xDC8E; + public static final int PROPERTY_SUBSCRIPTION_CONTENT_ID = 0xDC8F; + public static final int PROPERTY_PRODUCED_BY = 0xDC90; + public static final int PROPERTY_USE_COUNT = 0xDC91; + public static final int PROPERTY_SKIP_COUNT = 0xDC92; + public static final int PROPERTY_LAST_ACCESSED = 0xDC93; + public static final int PROPERTY_PARENTAL_RATING = 0xDC94; + public static final int PROPERTY_META_GENRE = 0xDC95; + public static final int PROPERTY_COMPOSER = 0xDC96; + public static final int PROPERTY_EFFECTIVE_RATING = 0xDC97; + public static final int PROPERTY_SUBTITLE = 0xDC98; + public static final int PROPERTY_ORIGINAL_RELEASE_DATE = 0xDC99; + public static final int PROPERTY_ALBUM_NAME = 0xDC9A; + public static final int PROPERTY_ALBUM_ARTIST = 0xDC9B; + public static final int PROPERTY_MOOD = 0xDC9C; + public static final int PROPERTY_DRM_STATUS = 0xDC9D; + public static final int PROPERTY_SUB_DESCRIPTION = 0xDC9E; + public static final int PROPERTY_IS_CROPPED = 0xDCD1; + public static final int PROPERTY_IS_COLOUR_CORRECTED = 0xDCD2; + public static final int PROPERTY_IMAGE_BIT_DEPTH = 0xDCD3; + public static final int PROPERTY_F_NUMBER = 0xDCD4; + public static final int PROPERTY_EXPOSURE_TIME = 0xDCD5; + public static final int PROPERTY_EXPOSURE_INDEX = 0xDCD6; + public static final int PROPERTY_TOTAL_BITRATE = 0xDE91; + public static final int PROPERTY_BITRATE_TYPE = 0xDE92; + public static final int PROPERTY_SAMPLE_RATE = 0xDE93; + public static final int PROPERTY_NUMBER_OF_CHANNELS = 0xDE94; + public static final int PROPERTY_AUDIO_BIT_DEPTH = 0xDE95; + public static final int PROPERTY_SCAN_TYPE = 0xDE97; + public static final int PROPERTY_AUDIO_WAVE_CODEC = 0xDE99; + public static final int PROPERTY_AUDIO_BITRATE = 0xDE9A; + public static final int PROPERTY_VIDEO_FOURCC_CODEC = 0xDE9B; + public static final int PROPERTY_VIDEO_BITRATE = 0xDE9C; + public static final int PROPERTY_FRAMES_PER_THOUSAND_SECONDS = 0xDE9D; + public static final int PROPERTY_KEYFRAME_DISTANCE = 0xDE9E; + public static final int PROPERTY_BUFFER_SIZE = 0xDE9F; + public static final int PROPERTY_ENCODING_QUALITY = 0xDEA0; + public static final int PROPERTY_ENCODING_PROFILE = 0xDEA1; + public static final int PROPERTY_DISPLAY_NAME = 0xDCE0; + public static final int PROPERTY_BODY_TEXT = 0xDCE1; + public static final int PROPERTY_SUBJECT = 0xDCE2; + public static final int PROPERTY_PRIORITY = 0xDCE3; + public static final int PROPERTY_GIVEN_NAME = 0xDD00; + public static final int PROPERTY_MIDDLE_NAMES = 0xDD01; + public static final int PROPERTY_FAMILY_NAME = 0xDD02; + public static final int PROPERTY_PREFIX = 0xDD03; + public static final int PROPERTY_SUFFIX = 0xDD04; + public static final int PROPERTY_PHONETIC_GIVEN_NAME = 0xDD05; + public static final int PROPERTY_PHONETIC_FAMILY_NAME = 0xDD06; + public static final int PROPERTY_EMAIL_PRIMARY = 0xDD07; + public static final int PROPERTY_EMAIL_PERSONAL_1 = 0xDD08; + public static final int PROPERTY_EMAIL_PERSONAL_2 = 0xDD09; + public static final int PROPERTY_EMAIL_BUSINESS_1 = 0xDD0A; + public static final int PROPERTY_EMAIL_BUSINESS_2 = 0xDD0B; + public static final int PROPERTY_EMAIL_OTHERS = 0xDD0C; + public static final int PROPERTY_PHONE_NUMBER_PRIMARY = 0xDD0D; + public static final int PROPERTY_PHONE_NUMBER_PERSONAL = 0xDD0E; + public static final int PROPERTY_PHONE_NUMBER_PERSONAL_2 = 0xDD0F; + public static final int PROPERTY_PHONE_NUMBER_BUSINESS = 0xDD10; + public static final int PROPERTY_PHONE_NUMBER_BUSINESS_2 = 0xDD11; + public static final int PROPERTY_PHONE_NUMBER_MOBILE= 0xDD12; + public static final int PROPERTY_PHONE_NUMBER_MOBILE_2 = 0xDD13; + public static final int PROPERTY_FAX_NUMBER_PRIMARY = 0xDD14; + public static final int PROPERTY_FAX_NUMBER_PERSONAL= 0xDD15; + public static final int PROPERTY_FAX_NUMBER_BUSINESS= 0xDD16; + public static final int PROPERTY_PAGER_NUMBER = 0xDD17; + public static final int PROPERTY_PHONE_NUMBER_OTHERS= 0xDD18; + public static final int PROPERTY_PRIMARY_WEB_ADDRESS= 0xDD19; + public static final int PROPERTY_PERSONAL_WEB_ADDRESS = 0xDD1A; + public static final int PROPERTY_BUSINESS_WEB_ADDRESS = 0xDD1B; + public static final int PROPERTY_INSTANT_MESSANGER_ADDRESS = 0xDD1C; + public static final int PROPERTY_INSTANT_MESSANGER_ADDRESS_2 = 0xDD1D; + public static final int PROPERTY_INSTANT_MESSANGER_ADDRESS_3 = 0xDD1E; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_FULL = 0xDD1F; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_LINE_1 = 0xDD20; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_LINE_2 = 0xDD21; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_CITY = 0xDD22; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_REGION = 0xDD23; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_POSTAL_CODE = 0xDD24; + public static final int PROPERTY_POSTAL_ADDRESS_PERSONAL_COUNTRY = 0xDD25; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_FULL = 0xDD26; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_LINE_1 = 0xDD27; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_LINE_2 = 0xDD28; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_CITY = 0xDD29; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_REGION = 0xDD2A; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_POSTAL_CODE = 0xDD2B; + public static final int PROPERTY_POSTAL_ADDRESS_BUSINESS_COUNTRY = 0xDD2C; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_FULL = 0xDD2D; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_LINE_1 = 0xDD2E; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_LINE_2 = 0xDD2F; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_CITY = 0xDD30; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_REGION = 0xDD31; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_POSTAL_CODE = 0xDD32; + public static final int PROPERTY_POSTAL_ADDRESS_OTHER_COUNTRY = 0xDD33; + public static final int PROPERTY_ORGANIZATION_NAME = 0xDD34; + public static final int PROPERTY_PHONETIC_ORGANIZATION_NAME = 0xDD35; + public static final int PROPERTY_ROLE = 0xDD36; + public static final int PROPERTY_BIRTHDATE = 0xDD37; + public static final int PROPERTY_MESSAGE_TO = 0xDD40; + public static final int PROPERTY_MESSAGE_CC = 0xDD41; + public static final int PROPERTY_MESSAGE_BCC = 0xDD42; + public static final int PROPERTY_MESSAGE_READ = 0xDD43; + public static final int PROPERTY_MESSAGE_RECEIVED_TIME = 0xDD44; + public static final int PROPERTY_MESSAGE_SENDER = 0xDD45; + public static final int PROPERTY_ACTIVITY_BEGIN_TIME = 0xDD50; + public static final int PROPERTY_ACTIVITY_END_TIME = 0xDD51; + public static final int PROPERTY_ACTIVITY_LOCATION = 0xDD52; + public static final int PROPERTY_ACTIVITY_REQUIRED_ATTENDEES = 0xDD54; + public static final int PROPERTY_ACTIVITY_OPTIONAL_ATTENDEES = 0xDD55; + public static final int PROPERTY_ACTIVITY_RESOURCES = 0xDD56; + public static final int PROPERTY_ACTIVITY_ACCEPTED = 0xDD57; + public static final int PROPERTY_ACTIVITY_TENTATIVE = 0xDD58; + public static final int PROPERTY_ACTIVITY_DECLINED = 0xDD59; + public static final int PROPERTY_ACTIVITY_REMAINDER_TIME = 0xDD5A; + public static final int PROPERTY_ACTIVITY_OWNER = 0xDD5B; + public static final int PROPERTY_ACTIVITY_STATUS = 0xDD5C; + public static final int PROPERTY_OWNER = 0xDD5D; + public static final int PROPERTY_EDITOR = 0xDD5E; + public static final int PROPERTY_WEBMASTER = 0xDD5F; + public static final int PROPERTY_URL_SOURCE = 0xDD60; + public static final int PROPERTY_URL_DESTINATION = 0xDD61; + public static final int PROPERTY_TIME_BOOKMARK = 0xDD62; + public static final int PROPERTY_OBJECT_BOOKMARK = 0xDD63; + public static final int PROPERTY_BYTE_BOOKMARK = 0xDD64; + public static final int PROPERTY_LAST_BUILD_DATE = 0xDD70; + public static final int PROPERTY_TIME_TO_LIVE = 0xDD71; + public static final int PROPERTY_MEDIA_GUID = 0xDD72; + + // MTP device properties + public static final int DEVICE_PROPERTY_UNDEFINED = 0x5000; + public static final int DEVICE_PROPERTY_BATTERY_LEVEL = 0x5001; + public static final int DEVICE_PROPERTY_FUNCTIONAL_MODE = 0x5002; + public static final int DEVICE_PROPERTY_IMAGE_SIZE = 0x5003; + public static final int DEVICE_PROPERTY_COMPRESSION_SETTING = 0x5004; + public static final int DEVICE_PROPERTY_WHITE_BALANCE = 0x5005; + public static final int DEVICE_PROPERTY_RGB_GAIN = 0x5006; + public static final int DEVICE_PROPERTY_F_NUMBER = 0x5007; + public static final int DEVICE_PROPERTY_FOCAL_LENGTH = 0x5008; + public static final int DEVICE_PROPERTY_FOCUS_DISTANCE = 0x5009; + public static final int DEVICE_PROPERTY_FOCUS_MODE = 0x500A; + public static final int DEVICE_PROPERTY_EXPOSURE_METERING_MODE = 0x500B; + public static final int DEVICE_PROPERTY_FLASH_MODE = 0x500C; + public static final int DEVICE_PROPERTY_EXPOSURE_TIME = 0x500D; + public static final int DEVICE_PROPERTY_EXPOSURE_PROGRAM_MODE = 0x500E; + public static final int DEVICE_PROPERTY_EXPOSURE_INDEX = 0x500F; + public static final int DEVICE_PROPERTY_EXPOSURE_BIAS_COMPENSATION = 0x5010; + public static final int DEVICE_PROPERTY_DATETIME = 0x5011; + public static final int DEVICE_PROPERTY_CAPTURE_DELAY = 0x5012; + public static final int DEVICE_PROPERTY_STILL_CAPTURE_MODE = 0x5013; + public static final int DEVICE_PROPERTY_CONTRAST = 0x5014; + public static final int DEVICE_PROPERTY_SHARPNESS = 0x5015; + public static final int DEVICE_PROPERTY_DIGITAL_ZOOM = 0x5016; + public static final int DEVICE_PROPERTY_EFFECT_MODE = 0x5017; + public static final int DEVICE_PROPERTY_BURST_NUMBER= 0x5018; + public static final int DEVICE_PROPERTY_BURST_INTERVAL = 0x5019; + public static final int DEVICE_PROPERTY_TIMELAPSE_NUMBER = 0x501A; + public static final int DEVICE_PROPERTY_TIMELAPSE_INTERVAL = 0x501B; + public static final int DEVICE_PROPERTY_FOCUS_METERING_MODE = 0x501C; + public static final int DEVICE_PROPERTY_UPLOAD_URL = 0x501D; + public static final int DEVICE_PROPERTY_ARTIST = 0x501E; + public static final int DEVICE_PROPERTY_COPYRIGHT_INFO = 0x501F; + public static final int DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER = 0xD401; + public static final int DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME = 0xD402; + public static final int DEVICE_PROPERTY_VOLUME = 0xD403; + public static final int DEVICE_PROPERTY_SUPPORTED_FORMATS_ORDERED = 0xD404; + public static final int DEVICE_PROPERTY_DEVICE_ICON = 0xD405; + public static final int DEVICE_PROPERTY_PLAYBACK_RATE = 0xD410; + public static final int DEVICE_PROPERTY_PLAYBACK_OBJECT = 0xD411; + public static final int DEVICE_PROPERTY_PLAYBACK_CONTAINER_INDEX = 0xD412; + public static final int DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO = 0xD406; + public static final int DEVICE_PROPERTY_PERCEIVED_DEVICE_TYPE = 0xD407; + + + /** + * Object is not protected. It may be modified and deleted, and its properties + * may be modified. + */ + public static final int PROTECTION_STATUS_NONE = 0; + + /** + * Object can not be modified or deleted and its properties can not be modified. + */ + public static final int PROTECTION_STATUS_READ_ONLY = 0x8001; + + /** + * Object can not be modified or deleted but its properties are modifiable. + */ + public static final int PROTECTION_STATUS_READ_ONLY_DATA = 0x8002; + + /** + * Object's contents can not be transfered from the device, but the object + * may be moved or deleted and its properties may be modified. + */ + public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 0x8003; + + public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 0x0001; +} diff --git a/media/java/android/media/MtpDatabase.java b/media/java/android/media/MtpDatabase.java index de1f0f145d55..408c64b1b468 100644 --- a/media/java/android/media/MtpDatabase.java +++ b/media/java/android/media/MtpDatabase.java @@ -25,7 +25,6 @@ import android.os.RemoteException; import android.provider.MediaStore.Audio; import android.provider.MediaStore.MediaColumns; import android.provider.MediaStore.MtpObjects; -import android.provider.Mtp; import android.util.Log; /** @@ -66,12 +65,6 @@ public class MtpDatabase { private final MediaScanner mMediaScanner; - // MTP response codes - private static final int MTP_RESPONSE_OK = 0x2001; - private static final int MTP_RESPONSE_GENERAL_ERROR = 0x2002; - private static final int MTP_RESPONSE_INVALID_OBJECT_HANDLE = 0x2009; - private static final int MTP_RESPONSE_OBJECT_PROP_NOT_SUPPORTED = 0xA80A; - static { System.loadLibrary("media_jni"); } @@ -121,7 +114,7 @@ public class MtpDatabase { if (succeeded) { // handle abstract playlists separately // they do not exist in the file system so don't use the media scanner here - if (format == Mtp.Object.FORMAT_ABSTRACT_AV_PLAYLIST) { + if (format == MtpConstants.FORMAT_ABSTRACT_AV_PLAYLIST) { // Strip Windows Media Player file extension if (path.endsWith(".pla")) { path = path.substring(0, path.length() - 4); @@ -218,25 +211,25 @@ public class MtpDatabase { private int[] getSupportedPlaybackFormats() { return new int[] { - Mtp.Object.FORMAT_ASSOCIATION, - Mtp.Object.FORMAT_MP3, - Mtp.Object.FORMAT_MPEG, - Mtp.Object.FORMAT_EXIF_JPEG, - Mtp.Object.FORMAT_TIFF_EP, - Mtp.Object.FORMAT_GIF, - Mtp.Object.FORMAT_JFIF, - Mtp.Object.FORMAT_PNG, - Mtp.Object.FORMAT_TIFF, - Mtp.Object.FORMAT_WMA, - Mtp.Object.FORMAT_OGG, - Mtp.Object.FORMAT_AAC, - Mtp.Object.FORMAT_MP4_CONTAINER, - Mtp.Object.FORMAT_MP2, - Mtp.Object.FORMAT_3GP_CONTAINER, - Mtp.Object.FORMAT_ABSTRACT_AV_PLAYLIST, - Mtp.Object.FORMAT_WPL_PLAYLIST, - Mtp.Object.FORMAT_M3U_PLAYLIST, - Mtp.Object.FORMAT_PLS_PLAYLIST, + MtpConstants.FORMAT_ASSOCIATION, + MtpConstants.FORMAT_MP3, + MtpConstants.FORMAT_MPEG, + MtpConstants.FORMAT_EXIF_JPEG, + MtpConstants.FORMAT_TIFF_EP, + MtpConstants.FORMAT_GIF, + MtpConstants.FORMAT_JFIF, + MtpConstants.FORMAT_PNG, + MtpConstants.FORMAT_TIFF, + MtpConstants.FORMAT_WMA, + MtpConstants.FORMAT_OGG, + MtpConstants.FORMAT_AAC, + MtpConstants.FORMAT_MP4_CONTAINER, + MtpConstants.FORMAT_MP2, + MtpConstants.FORMAT_3GP_CONTAINER, + MtpConstants.FORMAT_ABSTRACT_AV_PLAYLIST, + MtpConstants.FORMAT_WPL_PLAYLIST, + MtpConstants.FORMAT_M3U_PLAYLIST, + MtpConstants.FORMAT_PLS_PLAYLIST, }; } @@ -247,11 +240,11 @@ public class MtpDatabase { private int[] getSupportedObjectProperties(int handle) { return new int[] { - Mtp.Object.PROPERTY_STORAGE_ID, - Mtp.Object.PROPERTY_OBJECT_FORMAT, - Mtp.Object.PROPERTY_OBJECT_SIZE, - Mtp.Object.PROPERTY_OBJECT_FILE_NAME, - Mtp.Object.PROPERTY_PARENT_OBJECT, + MtpConstants.PROPERTY_STORAGE_ID, + MtpConstants.PROPERTY_OBJECT_FORMAT, + MtpConstants.PROPERTY_OBJECT_SIZE, + MtpConstants.PROPERTY_OBJECT_FILE_NAME, + MtpConstants.PROPERTY_PARENT_OBJECT, }; } @@ -267,38 +260,38 @@ public class MtpDatabase { boolean isString = false; switch (property) { - case Mtp.Object.PROPERTY_STORAGE_ID: + case MtpConstants.PROPERTY_STORAGE_ID: outIntValue[0] = mStorageID; - return MTP_RESPONSE_OK; - case Mtp.Object.PROPERTY_OBJECT_FORMAT: + return MtpConstants.RESPONSE_OK; + case MtpConstants.PROPERTY_OBJECT_FORMAT: column = MtpObjects.ObjectColumns.FORMAT; break; - case Mtp.Object.PROPERTY_PROTECTION_STATUS: + case MtpConstants.PROPERTY_PROTECTION_STATUS: // protection status is always 0 outIntValue[0] = 0; - return MTP_RESPONSE_OK; - case Mtp.Object.PROPERTY_OBJECT_SIZE: + return MtpConstants.RESPONSE_OK; + case MtpConstants.PROPERTY_OBJECT_SIZE: column = MtpObjects.ObjectColumns.SIZE; break; - case Mtp.Object.PROPERTY_OBJECT_FILE_NAME: + case MtpConstants.PROPERTY_OBJECT_FILE_NAME: column = MtpObjects.ObjectColumns.DATA; isString = true; break; - case Mtp.Object.PROPERTY_DATE_MODIFIED: + case MtpConstants.PROPERTY_DATE_MODIFIED: column = MtpObjects.ObjectColumns.DATE_MODIFIED; break; - case Mtp.Object.PROPERTY_PARENT_OBJECT: + case MtpConstants.PROPERTY_PARENT_OBJECT: column = MtpObjects.ObjectColumns.PARENT; break; - case Mtp.Object.PROPERTY_PERSISTENT_UID: + case MtpConstants.PROPERTY_PERSISTENT_UID: // PUID is concatenation of storageID and object handle long puid = mStorageID; puid <<= 32; puid += handle; outIntValue[0] = puid; - return MTP_RESPONSE_OK; + return MtpConstants.RESPONSE_OK; default: - return MTP_RESPONSE_OBJECT_PROP_NOT_SUPPORTED; + return MtpConstants.RESPONSE_OBJECT_PROP_NOT_SUPPORTED; } Cursor c = null; @@ -312,7 +305,7 @@ public class MtpDatabase { String value = c.getString(1); int start = 0; - if (property == Mtp.Object.PROPERTY_OBJECT_FILE_NAME) { + if (property == MtpConstants.PROPERTY_OBJECT_FILE_NAME) { // extract name from full path int lastSlash = value.lastIndexOf('/'); if (lastSlash >= 0) { @@ -328,17 +321,17 @@ public class MtpDatabase { } else { outIntValue[0] = c.getLong(1); } - return MTP_RESPONSE_OK; + return MtpConstants.RESPONSE_OK; } } catch (Exception e) { - return MTP_RESPONSE_GENERAL_ERROR; + return MtpConstants.RESPONSE_GENERAL_ERROR; } finally { if (c != null) { c.close(); } } // query failed if we get here - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; + return MtpConstants.RESPONSE_INVALID_OBJECT_HANDLE; } private boolean getObjectInfo(int handle, int[] outStorageFormatParent, @@ -389,13 +382,13 @@ public class MtpDatabase { path.getChars(0, path.length(), outFilePath, 0); outFilePath[path.length()] = 0; outFileLength[0] = c.getLong(2); - return MTP_RESPONSE_OK; + return MtpConstants.RESPONSE_OK; } else { - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; + return MtpConstants.RESPONSE_INVALID_OBJECT_HANDLE; } } catch (RemoteException e) { Log.e(TAG, "RemoteException in getObjectFilePath", e); - return MTP_RESPONSE_GENERAL_ERROR; + return MtpConstants.RESPONSE_GENERAL_ERROR; } finally { if (c != null) { c.close(); @@ -408,13 +401,13 @@ public class MtpDatabase { Uri uri = MtpObjects.getContentUri(mVolumeName, handle); try { if (mMediaProvider.delete(uri, null, null) == 1) { - return MTP_RESPONSE_OK; + return MtpConstants.RESPONSE_OK; } else { - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; + return MtpConstants.RESPONSE_INVALID_OBJECT_HANDLE; } } catch (RemoteException e) { Log.e(TAG, "RemoteException in deleteFile", e); - return MTP_RESPONSE_GENERAL_ERROR; + return MtpConstants.RESPONSE_GENERAL_ERROR; } } @@ -457,12 +450,12 @@ public class MtpDatabase { } try { if (count == mMediaProvider.bulkInsert(uri, valuesList)) { - return MTP_RESPONSE_OK; + return MtpConstants.RESPONSE_OK; } } catch (RemoteException e) { Log.e(TAG, "RemoteException in setObjectReferences", e); } - return MTP_RESPONSE_GENERAL_ERROR; + return MtpConstants.RESPONSE_GENERAL_ERROR; } // used by the JNI code diff --git a/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectBrowser.java b/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectBrowser.java index a00202883eee..fc9989d47921 100644 --- a/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectBrowser.java +++ b/media/tests/CameraBrowser/src/com/android/camerabrowser/ObjectBrowser.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.media.MtpConstants; import android.net.Uri; import android.os.Bundle; import android.provider.Mtp; @@ -100,7 +101,7 @@ public class ObjectBrowser extends ListActivity { format = c.getLong(FORMAT_COLUMN); Log.d(TAG, "rowId: " + rowId + " name: " + name + " format: " + format); } - if (format == Mtp.Object.FORMAT_JFIF) { + if (format == MtpConstants.FORMAT_JFIF) { Intent intent = new Intent(this, ObjectViewer.class); intent.putExtra("device", mDeviceID); intent.putExtra("storage", mStorageID); |