@Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   // If an image is received, display it on the ImageView.
   if (REQUEST_CODE_IMAGE_CAPTURE == requestCode && Activity.RESULT_OK == resultCode) {
     mActionListener.imageAvailable();
   } else {
     mActionListener.imageCaptureFailed();
   }
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
     case R.id.take_picture:
       try {
         mActionListener.takePicture();
       } catch (IOException ioe) {
         if (getView() != null) {
           Snackbar.make(getView(), getString(R.string.take_picture_error), Snackbar.LENGTH_LONG)
               .show();
         }
       }
       return true;
   }
   return false;
 }