package com.commonsware.android.perm.tutorial;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Toast;
import com.commonsware.cwac.cam2.CameraActivity;
import com.commonsware.cwac.cam2.VideoRecorderActivity;
import java.io.File;
public class MainActivity extends Activity {
private static final int RESULT_PICTURE_TAKEN=1337;
private static final int RESULT_VIDEO_RECORDED=1338;
private File rootDir;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File downloads=Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
rootDir=new File(downloads, "RuntimePermTutorial");
rootDir.mkdirs();
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
Toast t=null;
if (resultCode==RESULT_OK) {
if (requestCode==RESULT_PICTURE_TAKEN) {
t=Toast.makeText(this, R.string.msg_pic_taken,
Toast.LENGTH_LONG);
}
else if (requestCode==RESULT_VIDEO_RECORDED) {
t=Toast.makeText(this, R.string.msg_vid_recorded,
Toast.LENGTH_LONG);
}
t.show();
}
}
public void takePicture(View v) {
takePictureForRealz();
}
public void recordVideo(View v) {
recordVideoForRealz();
}
private void takePictureForRealz() {
Intent i=new CameraActivity.IntentBuilder(MainActivity.this)
.to(new File(rootDir, "test.jpg"))
.updateMediaStore()
.build();
startActivityForResult(i, RESULT_PICTURE_TAKEN);
}
private void recordVideoForRealz() {
Intent i=new VideoRecorderActivity.IntentBuilder(MainActivity.this)
.quality(VideoRecorderActivity.Quality.HIGH)
.sizeLimit(5000000)
.to(new File(rootDir, "test.mp4"))
.updateMediaStore()
.forceClassic()
.build();
startActivityForResult(i, RESULT_VIDEO_RECORDED);
}
}