summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/data
diff options
context:
space:
mode:
authorSascha Haeberling <haeberling@google.com>2013-08-15 14:29:49 -0700
committerSascha Häberling <haeberling@google.com>2013-08-15 22:18:09 +0000
commitfae11a165e344a38811770c7d348eda214683edc (patch)
tree4f2832e00fb5a66c32c2861a8750cd9b670bdb33 /src/com/android/camera/data
parent29a27c76f2f581cdf5ab5c7e196312f635669420 (diff)
downloadandroid_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.java2
-rw-r--r--src/com/android/camera/data/LocalData.java3
-rw-r--r--src/com/android/camera/data/LocalMediaData.java46
-rw-r--r--src/com/android/camera/data/SimpleViewData.java7
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;
+ }
}