MediaItem.java revision f9a0a4306d589b4a4e20554fed512a603426bfa1
1f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin/* 2f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Copyright (C) 2010 The Android Open Source Project 3f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 4f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Licensed under the Apache License, Version 2.0 (the "License"); 5f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * you may not use this file except in compliance with the License. 6f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * You may obtain a copy of the License at 7f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 8f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * http://www.apache.org/licenses/LICENSE-2.0 9f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 10f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Unless required by applicable law or agreed to in writing, software 11f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * distributed under the License is distributed on an "AS IS" BASIS, 12f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * See the License for the specific language governing permissions and 14f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * limitations under the License. 15f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin */ 16f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 17f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpackage com.android.gallery3d.data; 18f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 19f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport com.android.gallery3d.util.ThreadPool.Job; 20f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 21f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport android.graphics.Bitmap; 22f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport android.graphics.BitmapRegionDecoder; 23f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 24f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin// MediaItem represents an image or a video item. 25f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpublic abstract class MediaItem extends MediaObject { 26f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin // NOTE: These type numbers are stored in the image cache, so it should not 27f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin // not be changed without resetting the cache. 28f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int TYPE_THUMBNAIL = 1; 29f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int TYPE_MICROTHUMBNAIL = 2; 30f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 31f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int IMAGE_READY = 0; 32f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int IMAGE_WAIT = 1; 33f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int IMAGE_ERROR = -1; 34f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 35f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin // TODO: fix default value for latlng and change this. 36f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final double INVALID_LATLNG = 0f; 37f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 38f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public abstract Job<Bitmap> requestImage(int type); 39f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public abstract Job<BitmapRegionDecoder> requestLargeImage(); 40f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 41f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public MediaItem(Path path, long version) { 42f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin super(path, version); 43f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 44f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 45f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public long getDateInMs() { 46f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return 0; 47f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 48f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 49f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public String getName() { 50f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return null; 51f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 52f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 53f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public void getLatLong(double[] latLong) { 54f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin latLong[0] = INVALID_LATLNG; 55f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin latLong[1] = INVALID_LATLNG; 56f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 57f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 58f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public String[] getTags() { 59f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return null; 60f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 61f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 62f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public Face[] getFaces() { 63f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return null; 64f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 65f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 66f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public int getRotation() { 67f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return 0; 68f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 69f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 70f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public long getSize() { 71f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return 0; 72f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 73f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 74f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public abstract String getMimeType(); 75f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin} 76