--- /dev/null
+/*
+ * Copyright (C) 2012 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.common;
+
+/**
+ * The class holds the EXIF tag names that are not available in
+ * {@link android.media.ExifInterface} prior to API level 11.
+ */
+public interface ExifTags {
+ static final String TAG_ISO = "ISOSpeedRatings";
+ static final String TAG_EXPOSURE_TIME = "ExposureTime";
+ static final String TAG_APERTURE = "FNumber";
+}
import com.android.gallery3d.R;
import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.common.BitmapUtils;
+import com.android.gallery3d.common.ExifTags;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.LocalImage;
}
// Handle some special values here
- String value = oldExif.getAttribute(ExifInterface.TAG_APERTURE);
+ String value = oldExif.getAttribute(ExifTags.TAG_APERTURE);
if (value != null) {
try {
float aperture = Float.parseFloat(value);
- newExif.setAttribute(ExifInterface.TAG_APERTURE,
+ newExif.setAttribute(ExifTags.TAG_APERTURE,
String.valueOf((int) (aperture * 10 + 0.5f)) + "/10");
} catch (NumberFormatException e) {
Log.w(TAG, "cannot parse aperture: " + value);
// TODO: The code is broken, need to fix the JHEAD lib
/*
- value = oldExif.getAttribute(ExifInterface.TAG_EXPOSURE_TIME);
+ value = oldExif.getAttribute(ExifTags.TAG_EXPOSURE_TIME);
if (value != null) {
try {
double exposure = Double.parseDouble(value);
testToRational("test exposure", exposure);
- newExif.setAttribute(ExifInterface.TAG_EXPOSURE_TIME, value);
+ newExif.setAttribute(ExifTags.TAG_EXPOSURE_TIME, value);
} catch (NumberFormatException e) {
Log.w(TAG, "cannot parse exposure time: " + value);
}
}
- value = oldExif.getAttribute(ExifInterface.TAG_ISO);
+ value = oldExif.getAttribute(ExifTags.TAG_ISO);
if (value != null) {
try {
int iso = Integer.parseInt(value);
- newExif.setAttribute(ExifInterface.TAG_ISO, String.valueOf(iso) + "/1");
+ newExif.setAttribute(ExifTags.TAG_ISO, String.valueOf(iso) + "/1");
} catch (NumberFormatException e) {
Log.w(TAG, "cannot parse exposure time: " + value);
}
import android.media.ExifInterface;
import com.android.gallery3d.R;
+import com.android.gallery3d.common.ExifTags;
import java.io.IOException;
import java.util.HashMap;
MediaDetails.INDEX_HEIGHT);
setExifData(details, exif, ExifInterface.TAG_MAKE, MediaDetails.INDEX_MAKE);
setExifData(details, exif, ExifInterface.TAG_MODEL, MediaDetails.INDEX_MODEL);
- setExifData(details, exif, ExifInterface.TAG_APERTURE, MediaDetails.INDEX_APERTURE);
- setExifData(details, exif, ExifInterface.TAG_ISO, MediaDetails.INDEX_ISO);
+ setExifData(details, exif, ExifTags.TAG_APERTURE, MediaDetails.INDEX_APERTURE);
+ setExifData(details, exif, ExifTags.TAG_ISO, MediaDetails.INDEX_ISO);
setExifData(details, exif, ExifInterface.TAG_WHITE_BALANCE,
MediaDetails.INDEX_WHITE_BALANCE);
- setExifData(details, exif, ExifInterface.TAG_EXPOSURE_TIME,
+ setExifData(details, exif, ExifTags.TAG_EXPOSURE_TIME,
MediaDetails.INDEX_EXPOSURE_TIME);
double data = exif.getAttributeDouble(ExifInterface.TAG_FOCAL_LENGTH, 0);