Home | History | Annotate | Download | only in provider
      1 /*
      2  * Copyright (C) 2011 Google Inc.
      3  * Licensed to The Android Open Source Project.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package com.android.ex.photo.provider;
     19 
     20 import android.net.Uri;
     21 import android.provider.OpenableColumns;
     22 
     23 public final class PhotoContract {
     24     /** Columns for the view */
     25     public static interface PhotoViewColumns {
     26         /**
     27          * This column is a {@link Uri} that can be queried
     28          * for this individual image (resulting cursor has one single row for this image).
     29          */
     30         public static final String URI = "uri";
     31         /**
     32          * This column is a {@link String} that can be queried for this
     33          * individual image to return a displayable name.
     34          */
     35         public static final String NAME = OpenableColumns.DISPLAY_NAME;
     36         /**
     37          * This column is a {@link Uri} that points to the downloaded local file.
     38          * Can be null.
     39          */
     40         public static final String CONTENT_URI = "contentUri";
     41         /**
     42          * This column is a {@link Uri} that points to a thumbnail of the image
     43          * that ideally is a local file.
     44          * Can be null.
     45          */
     46         public static final String THUMBNAIL_URI = "thumbnailUri";
     47         /**
     48          * This string column is the MIME type.
     49          */
     50         public static final String CONTENT_TYPE = "contentType";
     51         /**
     52          * This boolean column indicates that a loading indicator should display permanently
     53          * if no image urls are provided.
     54          */
     55         public static final String LOADING_INDICATOR = "loadingIndicator";
     56     }
     57 
     58     public static interface PhotoQuery {
     59         /** Projection of the returned cursor */
     60         public final static String[] PROJECTION = {
     61             PhotoViewColumns.URI,
     62             PhotoViewColumns.NAME,
     63             PhotoViewColumns.CONTENT_URI,
     64             PhotoViewColumns.THUMBNAIL_URI,
     65             PhotoViewColumns.CONTENT_TYPE
     66         };
     67 
     68         public final static String[] OPTIONAL_COLUMNS = {
     69             PhotoViewColumns.LOADING_INDICATOR
     70         };
     71     }
     72 
     73     public static final class ContentTypeParameters {
     74         /**
     75          * Parameter used to specify which type of content to return.
     76          * Allows multiple types to be specified.
     77          */
     78         public static final String CONTENT_TYPE = "contentType";
     79 
     80         private ContentTypeParameters() {}
     81     }
     82 }
     83