diff options
author | Sascha Haeberling <haeberling@google.com> | 2013-08-15 14:29:49 -0700 |
---|---|---|
committer | Sascha Häberling <haeberling@google.com> | 2013-08-15 22:18:09 +0000 |
commit | fae11a165e344a38811770c7d348eda214683edc (patch) | |
tree | 4f2832e00fb5a66c32c2861a8750cd9b670bdb33 /src/com/android/camera/data | |
parent | 29a27c76f2f581cdf5ab5c7e196312f635669420 (diff) | |
download | android_packages_apps_Snap-fae11a165e344a38811770c7d348eda214683edc.tar.gz android_packages_apps_Snap-fae11a165e344a38811770c7d348eda214683edc.tar.bz2 android_packages_apps_Snap-fae11a165e344a38811770c7d348eda214683edc.zip |
Implent show-on-map functionality.
Also make sure the show-on-map item is only shown for items with coordinates. and add the coordinate to the details view.
Bug: 10346208
Bug: 10330505
Change-Id: Idaeec207bcc0e7311fa3b651868515ccea81d083
Diffstat (limited to 'src/com/android/camera/data')
-rw-r--r-- | src/com/android/camera/data/CameraPreviewData.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/data/LocalData.java | 3 | ||||
-rw-r--r-- | src/com/android/camera/data/LocalMediaData.java | 46 | ||||
-rw-r--r-- | src/com/android/camera/data/SimpleViewData.java | 7 |
4 files changed, 42 insertions, 16 deletions
diff --git a/src/com/android/camera/data/CameraPreviewData.java b/src/com/android/camera/data/CameraPreviewData.java index 3a4510541..f6127e46f 100644 --- a/src/com/android/camera/data/CameraPreviewData.java +++ b/src/com/android/camera/data/CameraPreviewData.java @@ -45,7 +45,7 @@ public class CameraPreviewData extends SimpleViewData { } @Override - public int getLocalDataType(int dataID) { + public int getLocalDataType() { return LOCAL_CAMERA_PREVIEW; } diff --git a/src/com/android/camera/data/LocalData.java b/src/com/android/camera/data/LocalData.java index 61714e243..2b617d7e1 100644 --- a/src/com/android/camera/data/LocalData.java +++ b/src/com/android/camera/data/LocalData.java @@ -109,12 +109,11 @@ public interface LocalData extends FilmStripView.ImageData { /** * Returns the type of the local data defined by {@link LocalData}. * - * @param dataID The ID of the data. * @return The local data type. Could be one of the following: * {@code LOCAL_CAMERA_PREVIEW}, {@code LOCAL_VIEW}, {@code LOCAL_IMAGE}, * {@code LOCAL_VIDEO}, and {@code LOCAL_PHOTO_SPHERE}, */ - int getLocalDataType(int dataID); + int getLocalDataType(); /** * Refresh the data content. diff --git a/src/com/android/camera/data/LocalMediaData.java b/src/com/android/camera/data/LocalMediaData.java index e55274f06..131c7e7db 100644 --- a/src/com/android/camera/data/LocalMediaData.java +++ b/src/com/android/camera/data/LocalMediaData.java @@ -61,6 +61,8 @@ public abstract class LocalMediaData implements LocalData { protected int width; protected int height; protected long sizeInBytes; + protected double latitude; + protected double longitude; /** The panorama metadata information of this media data. */ protected PhotoSphereHelper.PanoramaMetadata mPanoramaMetadata; @@ -192,6 +194,16 @@ public abstract class LocalMediaData implements LocalData { } } + @Override + public double[] getLatLong() { + if (latitude == 0 && longitude == 0) { + return null; + } + return new double[] { + latitude, longitude + }; + } + protected boolean isUsing() { synchronized (mUsing) { return mUsing; @@ -217,6 +229,8 @@ public abstract class LocalMediaData implements LocalData { public static final int COL_WIDTH = 7; public static final int COL_HEIGHT = 8; public static final int COL_SIZE = 9; + public static final int COL_LATITUDE = 10; + public static final int COL_LONGITUDE = 11; static final Uri CONTENT_URI = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; @@ -226,16 +240,18 @@ public abstract class LocalMediaData implements LocalData { * These values should be kept in sync with column IDs (COL_*) above. */ static final String[] QUERY_PROJECTION = { - MediaStore.Images.ImageColumns._ID, // 0, int - MediaStore.Images.ImageColumns.TITLE, // 1, string - MediaStore.Images.ImageColumns.MIME_TYPE, // 2, string - MediaStore.Images.ImageColumns.DATE_TAKEN, // 3, int - MediaStore.Images.ImageColumns.DATE_MODIFIED, // 4, int - MediaStore.Images.ImageColumns.DATA, // 5, string - MediaStore.Images.ImageColumns.ORIENTATION, // 6, int, 0, 90, 180, 270 - MediaStore.Images.ImageColumns.WIDTH, // 7, int - MediaStore.Images.ImageColumns.HEIGHT, // 8, int - MediaStore.Images.ImageColumns.SIZE, // 9, long + MediaStore.Images.ImageColumns._ID, // 0, int + MediaStore.Images.ImageColumns.TITLE, // 1, string + MediaStore.Images.ImageColumns.MIME_TYPE, // 2, string + MediaStore.Images.ImageColumns.DATE_TAKEN, // 3, int + MediaStore.Images.ImageColumns.DATE_MODIFIED, // 4, int + MediaStore.Images.ImageColumns.DATA, // 5, string + MediaStore.Images.ImageColumns.ORIENTATION, // 6, int, 0, 90, 180, 270 + MediaStore.Images.ImageColumns.WIDTH, // 7, int + MediaStore.Images.ImageColumns.HEIGHT, // 8, int + MediaStore.Images.ImageColumns.SIZE, // 9, long + MediaStore.Images.ImageColumns.LATITUDE, // 10, double + MediaStore.Images.ImageColumns.LONGITUDE // 11, double }; private static final int mSupportedUIActions = @@ -286,6 +302,8 @@ public abstract class LocalMediaData implements LocalData { d.height = b; } d.sizeInBytes = c.getLong(COL_SIZE); + d.latitude = c.getDouble(COL_LATITUDE); + d.longitude = c.getDouble(COL_LONGITUDE); return d; } @@ -338,11 +356,15 @@ public abstract class LocalMediaData implements LocalData { mediaDetails.addDetail(MediaDetails.INDEX_SIZE, sizeInBytes); MediaDetails.extractExifInfo(mediaDetails, path); + + if (latitude != 0 && longitude != 0) { + mediaDetails.addDetail(MediaDetails.INDEX_LOCATION, latitude + ", " + longitude); + } return mediaDetails; } @Override - public int getLocalDataType(int dataID) { + public int getLocalDataType() { if (mPanoramaMetadata != null && mPanoramaMetadata.mUsePanoramaViewer) { return LOCAL_PHOTO_SPHERE; } @@ -535,7 +557,7 @@ public abstract class LocalMediaData implements LocalData { } @Override - public int getLocalDataType(int dataID) { + public int getLocalDataType() { return LOCAL_VIDEO; } diff --git a/src/com/android/camera/data/SimpleViewData.java b/src/com/android/camera/data/SimpleViewData.java index 8801599bb..59d5f2cd5 100644 --- a/src/com/android/camera/data/SimpleViewData.java +++ b/src/com/android/camera/data/SimpleViewData.java @@ -86,7 +86,7 @@ public class SimpleViewData implements LocalData { } @Override - public int getLocalDataType(int dataID) { + public int getLocalDataType() { return LOCAL_VIEW; } @@ -150,4 +150,9 @@ public class SimpleViewData implements LocalData { public MediaDetails getMediaDetails(Context context) { return null; } + + @Override + public double[] getLatLong() { + return null; + } } |