From 81156db89fb20d7c7c9629508e9d418b278b4de8 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 12 Jan 2016 16:35:26 +1300 Subject: [PATCH] try catch block, works on real device --- .../nrw/commons/upload/ShareActivity.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) 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 a0e62024b..5a494bb25 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 @@ -168,14 +168,21 @@ public class ShareActivity private String getRealPathFromURI(Uri contentUri) { - String[] proj = { MediaStore.Images.Media.DATA }; - Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null); - int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); - cursor.moveToFirst(); - - String cursorString = cursor.getString(column_index); - //cursor.close(); - return cursorString; + Cursor cursor = null; + try { + String[] proj = {MediaStore.Images.Media.DATA}; + cursor = getContentResolver().query(contentUri, proj, null, null, null); + int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); + cursor.moveToFirst(); + return cursor.getString(column_index); + } catch (Exception e) { + Log.w(TAG, e); + return ""; + } finally { + if (cursor != null) { + cursor.close(); + } + } } @Override @@ -210,7 +217,7 @@ public class ShareActivity Log.d(TAG, "Filepath: " + filePath); - if (filePath != null) { + if (filePath != null && !filePath.equals("")) { //extract the coordinates of image in decimal degrees Log.d(TAG, "Calling GPSExtractor"); GPSExtractor imageObj = new GPSExtractor(filePath);