11cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein/*
21cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * Copyright (C) 2011 Google Inc.
31cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * Licensed to The Android Open Source Project.
41cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein *
51cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * Licensed under the Apache License, Version 2.0 (the "License");
61cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * you may not use this file except in compliance with the License.
71cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * You may obtain a copy of the License at
81cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein *
91cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein *      http://www.apache.org/licenses/LICENSE-2.0
101cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein *
111cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * Unless required by applicable law or agreed to in writing, software
121cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * distributed under the License is distributed on an "AS IS" BASIS,
131cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
141cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * See the License for the specific language governing permissions and
151cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein * limitations under the License.
161cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein */
171cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
181cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sappersteinpackage com.android.ex.photo.provider;
191cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
201cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sappersteinimport android.net.Uri;
211cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sappersteinimport android.provider.OpenableColumns;
221cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
231cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sappersteinpublic final class PhotoContract {
24d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein    /** Columns for the view */
251cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    public static interface PhotoViewColumns {
261cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /**
271cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * This column is a {@link Uri} that can be queried
281cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * for this individual image (resulting cursor has one single row for this image).
291cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         */
301cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public static final String URI = "uri";
311cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /**
321cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * This column is a {@link String} that can be queried for this
331cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * individual image to return a displayable name.
341cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         */
351cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public static final String NAME = OpenableColumns.DISPLAY_NAME;
361cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /**
37d5cfe29032281253f9d6d9e1630323cc64127e9fAndrew Sapperstein         * This column is a {@link Uri} that points to the downloaded local file.
38d5cfe29032281253f9d6d9e1630323cc64127e9fAndrew Sapperstein         * Can be null.
391cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         */
401cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public static final String CONTENT_URI = "contentUri";
411cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /**
42d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein         * This column is a {@link Uri} that points to a thumbnail of the image
43d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein         * that ideally is a local file.
44d5cfe29032281253f9d6d9e1630323cc64127e9fAndrew Sapperstein         * Can be null.
45d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein         */
46d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein        public static final String THUMBNAIL_URI = "thumbnailUri";
47d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein        /**
481cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * This string column is the MIME type.
491cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         */
501cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public static final String CONTENT_TYPE = "contentType";
511cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
521cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    }
531cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
541cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    public static interface PhotoQuery {
551cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /** Projection of the returned cursor */
561cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public final static String[] PROJECTION = {
571cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein            PhotoViewColumns.URI,
581cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein            PhotoViewColumns.NAME,
591cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein            PhotoViewColumns.CONTENT_URI,
60d19540fb7139fc0baba3b55260a6aabdb029c831Andrew Sapperstein            PhotoViewColumns.THUMBNAIL_URI,
611cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein            PhotoViewColumns.CONTENT_TYPE,
621cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        };
631cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    }
641cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
651cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    public static final class ContentTypeParameters {
661cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        /**
671cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * Parameter used to specify which type of content to return.
681cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         * Allows multiple types to be specified.
691cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein         */
701cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        public static final String CONTENT_TYPE = "contentType";
711cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein
721cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein        private ContentTypeParameters() {}
731cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein    }
741cc4b2144a45abb495c8b14f6cfc5a10fb5e8ba8Andrew Sapperstein}
75