package com.sailrobotics.posterize;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created by asanthan on 7/25/15.
*/
public class TakeCameraMeasurement extends Activity {
private static int TAKE_PICTURE = 1;
private Uri imageUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
takePhoto();
//setContentView(R.layout.activity_mark_reference_point);
}//onCreate
public void takePhoto() {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); //tells Android that we are going to use the image capture function.
//File photo = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"picture.jpg"); //must define our own naming convention later
//imageUri = Uri.fromFile(photo);
imageUri = getOutputMediaFileUri(); // Allocate file uri and assign file name
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, TAKE_PICTURE); //pass number 1, which represents that the request code for different devices we wanna use.
}//takePhoto
/** Create a file Uri for saving an image*/
private static Uri getOutputMediaFileUri(){
return Uri.fromFile(getOutputMediaFile());
}
/** Create a File for saving an image*/
private static File getOutputMediaFile(){
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "Posterize");
// Create the storage directory if it does not exist
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d("Posterize", "failed to create directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
return mediaFile;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageUri; //designate Uri for an image
File imageFile = new File(selectedImage.getPath());
if(imageFile.exists())
{
Intent cropImageIntent = new Intent(TakeCameraMeasurement.this,MarkReferenceActivity.class);
cropImageIntent.putExtra("ImagePATH", selectedImage.getPath());
startActivity(cropImageIntent);
finish();
Log.e("IMAGE", selectedImage.getPath());
}
}
else if (resultCode == Activity.RESULT_CANCELED) {
finish();
}
}
}