diff --git a/commons/src/main/java/fr/free/nrw/commons/upload/ImageProcessing.java b/commons/src/main/java/fr/free/nrw/commons/upload/ImageProcessing.java index 2a491362f..c63291ae8 100644 --- a/commons/src/main/java/fr/free/nrw/commons/upload/ImageProcessing.java +++ b/commons/src/main/java/fr/free/nrw/commons/upload/ImageProcessing.java @@ -1,6 +1,7 @@ package fr.free.nrw.commons.upload; import android.app.Activity; +import android.content.Context; import android.database.Cursor; import android.media.ExifInterface; import android.net.Uri; @@ -15,12 +16,14 @@ import java.io.IOException; * Created by misao on 16-Dec-15. */ //Needs to extend Activity in order to call getContentResolver(). Might not be the best way? -public class ImageProcessing extends Activity{ +public class ImageProcessing { private Uri uri; private ExifInterface exif; + private Context context; - public ImageProcessing(Uri uri){ + public ImageProcessing(Context context, Uri uri){ + this.context = context; this.uri = uri; } @@ -35,7 +38,7 @@ public class ImageProcessing extends Activity{ // where id is equal to String sel = MediaStore.Images.Media._ID + "=?"; - Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, column, sel, new String[]{id}, null); int columnIndex = cursor.getColumnIndex(column[0]); @@ -51,14 +54,22 @@ public class ImageProcessing extends Activity{ public String getLatitude(String filePath) { String latitude = ""; + String longitude = ""; + String latitude_ref = ""; + String longitude_ref = ""; try { exif = new ExifInterface(filePath); latitude = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE); - Log.d("Image", "Latitude: " + latitude); + latitude_ref = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE_REF); + longitude = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE); + longitude_ref = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF); + + Log.d("Image", "Latitude: " + latitude + " " + latitude_ref); + Log.d("Image", "Longitude: " + longitude + " " + longitude_ref); } catch (IOException e) { - e.printStackTrace(); + Log.w("Image", e); } return latitude; } diff --git a/commons/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/commons/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index e1cf2a8e5..fd4ce3fca 100644 --- a/commons/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/commons/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -175,9 +175,6 @@ public class ShareActivity mediaUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); if(intent.hasExtra(UploadService.EXTRA_SOURCE)) { source = intent.getStringExtra(UploadService.EXTRA_SOURCE); - //Bundle bundle = intent.getExtras(); - //String filepath = bundle.getString("file_path"); - //Log.d(TAG, "Filepath: " + filepath); } else { source = Contribution.SOURCE_EXTERNAL; } @@ -188,7 +185,7 @@ public class ShareActivity mediaUriString = mediaUri.toString(); Log.d(TAG, "Uri: " + mediaUriString); - ImageProcessing imageObj = new ImageProcessing(mediaUri); + ImageProcessing imageObj = new ImageProcessing(getApplicationContext(), mediaUri); String filePath = imageObj.getFilePath(); String latitude = imageObj.getLatitude(filePath);