private Bitmap createPhotoThumbnail(final String aImageUrl){
  Bitmap bitmapRetValue=null;
  if (null != aImageUrl) {
    Uri imageUri=Uri.fromFile(new File(aImageUrl));
    int rotationAngle=ImageUtils.getRotationAngleForBitmap(VectorMediasPickerActivity.this,imageUri);
    try {
      final String filename=imageUri.getPath();
      FileInputStream imageStream=new FileInputStream(new File(filename));
      bitmapRetValue=createPhotoThumbnail(imageStream,rotationAngle);
      imageStream.close();
      System.gc();
    }
 catch (    OutOfMemoryError e) {
      Log.e(LOG_TAG,"## createPhotoThumbnail : out of memory");
    }
catch (    Exception e) {
      Log.e(LOG_TAG,"## createPhotoThumbnail() Exception Msg=" + e.getMessage());
    }
  }
  return bitmapRetValue;
}

private Bitmap createPhotoThumbnail ( final String aImageUrl ) { Bitmap bitmapRetValue = null ; if ( null != aImageUrl ) { Uri imageUri = Uri . fromFile ( new File ( aImageUrl ) ) ; int rotationAngle = ImageUtils . getRotationAngleForBitmap ( VectorMediasPickerActivity . this , imageUri ) ; try { final String filename = imageUri . getPath ( ) ; FileInputStream imageStream = new FileInputStream ( new File ( filename ) ) ; bitmapRetValue = createPhotoThumbnail ( imageStream , rotationAngle ) ; imageStream . close ( ) ; System . gc ( ) ; } catch ( OutOfMemoryError e ) { Log . e ( LOG_TAG , "## createPhotoThumbnail : out of memory" ) ; } catch ( Exception e ) { Log . e ( LOG_TAG , "## createPhotoThumbnail() Exception Msg=" + e . getMessage ( ) ) ; } } return bitmapRetValue ; }
create a thumbnail bitmap from an image url if there is some exif metadata which implies to rotate the image . this method is used to process the image taken by the from the camera .
