diff options
Diffstat (limited to 'tests/src/com/android/gallery3d/exif/Util.java')
-rw-r--r-- | tests/src/com/android/gallery3d/exif/Util.java | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/tests/src/com/android/gallery3d/exif/Util.java b/tests/src/com/android/gallery3d/exif/Util.java deleted file mode 100644 index 15de00714..000000000 --- a/tests/src/com/android/gallery3d/exif/Util.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * 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.exif; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.IOException; -import java.io.InputStream; -import java.util.Arrays; - -class Util { - public static boolean equals(Object a, Object b) { - return (a == b) || (a == null ? false : a.equals(b)); - } - - public static void closeSilently(Closeable c) { - if (c == null) - return; - try { - c.close(); - } catch (Throwable t) { - // do nothing - } - } - - public static byte[] readToByteArray(InputStream is) throws IOException { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - int len; - byte[] buf = new byte[1024]; - while ((len = is.read(buf)) > -1) { - bos.write(buf, 0, len); - } - bos.flush(); - return bos.toByteArray(); - } - - /** - * Tags that are not defined in the spec. - */ - static final short TAG_XP_TITLE = (short) 0x9c9b; - static final short TAG_XP_COMMENT = (short) 0x9c9c; - static final short TAG_XP_AUTHOR = (short) 0x9c9d; - static final short TAG_XP_KEYWORDS = (short) 0x9c9e; - static final short TAG_XP_SUBJECT = (short) 0x9c9f; - - private static String tagUndefinedTypeValueToString(ExifTag tag) { - StringBuilder sbuilder = new StringBuilder(); - byte[] buf = new byte[tag.getComponentCount()]; - tag.getBytes(buf); - short tagId = tag.getTagId(); - if (tagId == ExifInterface.getTrueTagKey(ExifInterface.TAG_COMPONENTS_CONFIGURATION)) { - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - if (i != 0) { - sbuilder.append(" "); - } - sbuilder.append(buf[i]); - } - } else { - if (buf.length == 1) { - sbuilder.append(buf[0]); - } else { - for (int i = 0, n = buf.length; i < n; i++) { - byte code = buf[i]; - if (code == 0) { - continue; - } - if (code > 31 && code < 127) { - sbuilder.append((char) code); - } else { - sbuilder.append('.'); - } - } - } - } - return sbuilder.toString(); - } - - /** - * Returns a string representation of the value of this tag. - */ - public static String tagValueToString(ExifTag tag) { - StringBuilder sbuilder = new StringBuilder(); - short id = tag.getTagId(); - switch (tag.getDataType()) { - case ExifTag.TYPE_UNDEFINED: - sbuilder.append(tagUndefinedTypeValueToString(tag)); - break; - case ExifTag.TYPE_UNSIGNED_BYTE: - if (id == ExifInterface.TAG_MAKER_NOTE || id == TAG_XP_TITLE || - id == TAG_XP_COMMENT || id == TAG_XP_AUTHOR || - id == TAG_XP_KEYWORDS || id == TAG_XP_SUBJECT) { - sbuilder.append(tagUndefinedTypeValueToString(tag)); - } else { - byte[] buf = new byte[tag.getComponentCount()]; - tag.getBytes(buf); - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - if (i != 0) - sbuilder.append(" "); - sbuilder.append(buf[i]); - } - } - break; - case ExifTag.TYPE_ASCII: - byte[] buf = tag.getStringByte(); - for (int i = 0, n = buf.length; i < n; i++) { - byte code = buf[i]; - if (code == 0) { - // Treat some tag as undefined type data. - if (id == ExifInterface.TAG_COPYRIGHT - || id == ExifInterface.TAG_GPS_DATE_STAMP) { - continue; - } else { - break; - } - } - if (code > 31 && code < 127) { - sbuilder.append((char) code); - } else { - sbuilder.append('.'); - } - } - break; - case ExifTag.TYPE_UNSIGNED_LONG: - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - if (i != 0) { - sbuilder.append(" "); - } - sbuilder.append(tag.getValueAt(i)); - } - break; - case ExifTag.TYPE_RATIONAL: - case ExifTag.TYPE_UNSIGNED_RATIONAL: - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - Rational r = tag.getRational(i); - if (i != 0) { - sbuilder.append(" "); - } - sbuilder.append(r.getNumerator()).append("/").append(r.getDenominator()); - } - break; - case ExifTag.TYPE_UNSIGNED_SHORT: - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - if (i != 0) { - sbuilder.append(" "); - } - sbuilder.append((int) tag.getValueAt(i)); - } - break; - case ExifTag.TYPE_LONG: - for (int i = 0, n = tag.getComponentCount(); i < n; i++) { - if (i != 0) { - sbuilder.append(" "); - } - sbuilder.append((int) tag.getValueAt(i)); - } - break; - } - return sbuilder.toString(); - } - - public static String valueToString(Object obj) { - if (obj instanceof int[]) { - return Arrays.toString((int[]) obj); - } else if (obj instanceof Integer[]) { - return Arrays.toString((Integer[]) obj); - } else if (obj instanceof long[]) { - return Arrays.toString((long[]) obj); - } else if (obj instanceof Long[]) { - return Arrays.toString((Long[]) obj); - } else if (obj instanceof Rational) { - return ((Rational) obj).toString(); - } else if (obj instanceof Rational[]) { - return Arrays.toString((Rational[]) obj); - } else if (obj instanceof byte[]) { - return Arrays.toString((byte[]) obj); - } else if (obj != null) { - return obj.toString(); - } - return ""; - } -} |