Attempt at implementing exifInterface

Modified ShareActivity to try and implement exifInterface on the image
file.
This commit is contained in:
misaochan 2015-12-16 17:31:52 +13:00
parent eed0f49ce8
commit ba5fb3bb55
3 changed files with 34 additions and 4 deletions

View file

@ -174,6 +174,7 @@ public class MediaDetailFragment extends SherlockFragment {
MediaWikiImageView mwImage = (MediaWikiImageView)image; MediaWikiImageView mwImage = (MediaWikiImageView)image;
mwImage.setLoadingView(loadingProgress); //FIXME: Set this as an attribute mwImage.setLoadingView(loadingProgress); //FIXME: Set this as an attribute
mwImage.setMedia(media, loader); mwImage.setMedia(media, loader);
Log.d("Volley", actualUrl); Log.d("Volley", actualUrl);
// FIXME: For transparent images // FIXME: For transparent images
@ -186,7 +187,7 @@ public class MediaDetailFragment extends SherlockFragment {
@Override @Override
protected void onPreExecute() { protected void onPreExecute() {
extractor = new MediaDataExtractor(media.getFilename(), licenseList); extractor = new MediaDataExtractor(media.getFilename(), licenseList);
Log.i("Image", "Image name is " + media.getFilename());
} }
@Override @Override

View file

@ -1,12 +1,17 @@
package fr.free.nrw.commons.upload; package fr.free.nrw.commons.upload;
import android.content.*; import android.content.*;
import android.media.ExifInterface;
import android.os.*; import android.os.*;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import android.net.*; import android.net.*;
import android.provider.MediaStore;
import android.support.v4.app.NavUtils; import android.support.v4.app.NavUtils;
import com.actionbarsherlock.view.MenuItem; import com.actionbarsherlock.view.MenuItem;
import android.util.Log;
import android.widget.*; import android.widget.*;
import android.database.Cursor;
import fr.free.nrw.commons.*; import fr.free.nrw.commons.*;
import fr.free.nrw.commons.modifications.CategoryModifier; import fr.free.nrw.commons.modifications.CategoryModifier;
@ -19,6 +24,7 @@ import fr.free.nrw.commons.auth.*;
import fr.free.nrw.commons.modifications.ModificationsContentProvider; import fr.free.nrw.commons.modifications.ModificationsContentProvider;
import fr.free.nrw.commons.modifications.ModifierSequence; import fr.free.nrw.commons.modifications.ModifierSequence;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -34,9 +40,15 @@ public class ShareActivity
private String source; private String source;
private String mimeType; private String mimeType;
private String mediaUriString;
private String mediaUriPath;
private static final String TAG = "Image";
private Uri mediaUri; private Uri mediaUri;
private ExifInterface exif;
private Contribution contribution; private Contribution contribution;
private ImageView backgroundImageView; private ImageView backgroundImageView;
@ -50,7 +62,7 @@ public class ShareActivity
public void uploadActionInitiated(String title, String description) { public void uploadActionInitiated(String title, String description) {
Toast startingToast = Toast.makeText(getApplicationContext(), R.string.uploading_started, Toast.LENGTH_LONG); Toast startingToast = Toast.makeText(getApplicationContext(), R.string.uploading_started, Toast.LENGTH_LONG);
startingToast.show(); startingToast.show();
uploadController.startUpload(title, mediaUri, description, mimeType, source, new UploadController.ContributionUploadProgress() { uploadController.startUpload(title, mediaUri, description, mimeType, source, new UploadController.ContributionUploadProgress() {
public void onUploadStarted(Contribution contribution) { public void onUploadStarted(Contribution contribution) {
ShareActivity.this.contribution = contribution; ShareActivity.this.contribution = contribution;
showPostUpload(); showPostUpload();
@ -154,7 +166,6 @@ public class ShareActivity
setContentView(R.layout.activity_share); setContentView(R.layout.activity_share);
app = (CommonsApplication)this.getApplicationContext(); app = (CommonsApplication)this.getApplicationContext();
backgroundImageView = (ImageView)findViewById(R.id.backgroundImage); backgroundImageView = (ImageView)findViewById(R.id.backgroundImage);
Intent intent = getIntent(); Intent intent = getIntent();
@ -163,6 +174,9 @@ public class ShareActivity
mediaUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); mediaUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
if(intent.hasExtra(UploadService.EXTRA_SOURCE)) { if(intent.hasExtra(UploadService.EXTRA_SOURCE)) {
source = intent.getStringExtra(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 { } else {
source = Contribution.SOURCE_EXTERNAL; source = Contribution.SOURCE_EXTERNAL;
} }
@ -170,7 +184,21 @@ public class ShareActivity
mimeType = intent.getType(); mimeType = intent.getType();
} }
ImageLoader.getInstance().displayImage(mediaUri.toString(), backgroundImageView); mediaUriString = mediaUri.toString();
Log.d(TAG, "Uri: " + mediaUriString);
mediaUriPath = mediaUri.getPath();
Log.d(TAG, "Path: " + mediaUriPath);
try {
exif = new ExifInterface(mediaUriPath);
String latitude = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE);
Log.d("Image", "Latitude: " + latitude);
} catch (IOException e) {
e.printStackTrace();
}
ImageLoader.getInstance().displayImage(mediaUriString, backgroundImageView);
if(savedInstanceState != null) { if(savedInstanceState != null) {
contribution = savedInstanceState.getParcelable("contribution"); contribution = savedInstanceState.getParcelable("contribution");

View file

@ -140,6 +140,7 @@ public class UploadController {
@Override @Override
protected void onPostExecute(Contribution contribution) { protected void onPostExecute(Contribution contribution) {
super.onPostExecute(contribution); super.onPostExecute(contribution);
//temporarily disabled for debugging
//uploadService.queue(UploadService.ACTION_UPLOAD_FILE, contribution); //uploadService.queue(UploadService.ACTION_UPLOAD_FILE, contribution);
onComplete.onUploadStarted(contribution); onComplete.onUploadStarted(contribution);
} }