summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/MediaDetails.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/MediaDetails.java')
-rw-r--r--src/com/android/gallery3d/data/MediaDetails.java170
1 files changed, 0 insertions, 170 deletions
diff --git a/src/com/android/gallery3d/data/MediaDetails.java b/src/com/android/gallery3d/data/MediaDetails.java
deleted file mode 100644
index cac524b88..000000000
--- a/src/com/android/gallery3d/data/MediaDetails.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * 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 com.android.gallery3d.data;
-
-import com.android.gallery3d.R;
-import com.android.gallery3d.common.Utils;
-import com.android.gallery3d.exif.ExifInterface;
-import com.android.gallery3d.exif.ExifTag;
-import com.android.gallery3d.exif.Rational;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import java.util.TreeMap;
-
-public class MediaDetails implements Iterable<Entry<Integer, Object>> {
- @SuppressWarnings("unused")
- private static final String TAG = "MediaDetails";
-
- private TreeMap<Integer, Object> mDetails = new TreeMap<Integer, Object>();
- private HashMap<Integer, Integer> mUnits = new HashMap<Integer, Integer>();
-
- public static final int INDEX_TITLE = 1;
- public static final int INDEX_DESCRIPTION = 2;
- public static final int INDEX_DATETIME = 3;
- public static final int INDEX_LOCATION = 4;
- public static final int INDEX_WIDTH = 5;
- public static final int INDEX_HEIGHT = 6;
- public static final int INDEX_ORIENTATION = 7;
- public static final int INDEX_DURATION = 8;
- public static final int INDEX_MIMETYPE = 9;
- public static final int INDEX_SIZE = 10;
-
- // for EXIF
- public static final int INDEX_MAKE = 100;
- public static final int INDEX_MODEL = 101;
- public static final int INDEX_FLASH = 102;
- public static final int INDEX_FOCAL_LENGTH = 103;
- public static final int INDEX_WHITE_BALANCE = 104;
- public static final int INDEX_APERTURE = 105;
- public static final int INDEX_SHUTTER_SPEED = 106;
- public static final int INDEX_EXPOSURE_TIME = 107;
- public static final int INDEX_ISO = 108;
-
- // Put this last because it may be long.
- public static final int INDEX_PATH = 200;
-
- public static class FlashState {
- private static int FLASH_FIRED_MASK = 1;
- private static int FLASH_RETURN_MASK = 2 | 4;
- private static int FLASH_MODE_MASK = 8 | 16;
- private static int FLASH_FUNCTION_MASK = 32;
- private static int FLASH_RED_EYE_MASK = 64;
- private int mState;
-
- public FlashState(int state) {
- mState = state;
- }
-
- public boolean isFlashFired() {
- return (mState & FLASH_FIRED_MASK) != 0;
- }
- }
-
- public void addDetail(int index, Object value) {
- mDetails.put(index, value);
- }
-
- public Object getDetail(int index) {
- return mDetails.get(index);
- }
-
- public int size() {
- return mDetails.size();
- }
-
- @Override
- public Iterator<Entry<Integer, Object>> iterator() {
- return mDetails.entrySet().iterator();
- }
-
- public void setUnit(int index, int unit) {
- mUnits.put(index, unit);
- }
-
- public boolean hasUnit(int index) {
- return mUnits.containsKey(index);
- }
-
- public int getUnit(int index) {
- return mUnits.get(index);
- }
-
- private static void setExifData(MediaDetails details, ExifTag tag,
- int key) {
- if (tag != null) {
- String value = null;
- int type = tag.getDataType();
- if (type == ExifTag.TYPE_UNSIGNED_RATIONAL || type == ExifTag.TYPE_RATIONAL) {
- value = String.valueOf(tag.getValueAsRational(0).toDouble());
- } else if (type == ExifTag.TYPE_ASCII) {
- value = tag.getValueAsString();
- } else {
- value = String.valueOf(tag.forceGetValueAsLong(0));
- }
- if (key == MediaDetails.INDEX_FLASH) {
- MediaDetails.FlashState state = new MediaDetails.FlashState(
- Integer.valueOf(value.toString()));
- details.addDetail(key, state);
- } else {
- details.addDetail(key, value);
- }
- }
- }
-
- public static void extractExifInfo(MediaDetails details, String filePath) {
-
- ExifInterface exif = new ExifInterface();
- try {
- exif.readExif(filePath);
- } catch (FileNotFoundException e) {
- Log.w(TAG, "Could not find file to read exif: " + filePath, e);
- } catch (IOException e) {
- Log.w(TAG, "Could not read exif from file: " + filePath, e);
- }
-
- setExifData(details, exif.getTag(ExifInterface.TAG_FLASH),
- MediaDetails.INDEX_FLASH);
- setExifData(details, exif.getTag(ExifInterface.TAG_IMAGE_WIDTH),
- MediaDetails.INDEX_WIDTH);
- setExifData(details, exif.getTag(ExifInterface.TAG_IMAGE_LENGTH),
- MediaDetails.INDEX_HEIGHT);
- setExifData(details, exif.getTag(ExifInterface.TAG_MAKE),
- MediaDetails.INDEX_MAKE);
- setExifData(details, exif.getTag(ExifInterface.TAG_MODEL),
- MediaDetails.INDEX_MODEL);
- setExifData(details, exif.getTag(ExifInterface.TAG_APERTURE_VALUE),
- MediaDetails.INDEX_APERTURE);
- setExifData(details, exif.getTag(ExifInterface.TAG_ISO_SPEED_RATINGS),
- MediaDetails.INDEX_ISO);
- setExifData(details, exif.getTag(ExifInterface.TAG_WHITE_BALANCE),
- MediaDetails.INDEX_WHITE_BALANCE);
- setExifData(details, exif.getTag(ExifInterface.TAG_EXPOSURE_TIME),
- MediaDetails.INDEX_EXPOSURE_TIME);
- ExifTag focalTag = exif.getTag(ExifInterface.TAG_FOCAL_LENGTH);
- if (focalTag != null) {
- details.addDetail(MediaDetails.INDEX_FOCAL_LENGTH,
- focalTag.getValueAsRational(0).toDouble());
- details.setUnit(MediaDetails.INDEX_FOCAL_LENGTH, R.string.unit_mm);
- }
- }
-}