X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/3b3d3e05bc9c9a8e261c8e2b60fe4e879b20035d..766b51f497971141da27ed16a11413d1bf590529:/src/com/owncloud/android/ui/preview/PreviewImageFragment.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 269e25ee..505a3260 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -30,9 +30,7 @@ import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; -import android.graphics.Matrix; import android.graphics.Point; -import android.media.ExifInterface; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.FragmentStatePagerAdapter; @@ -50,8 +48,6 @@ import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.datamodel.ThumbnailsCacheManager; -import com.owncloud.android.datamodel.ThumbnailsCacheManager.ThumbnailGenerationTask; import com.owncloud.android.files.FileMenuFilter; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; @@ -387,7 +383,8 @@ public class PreviewImageFragment extends FileFragment { File picture = new File(storagePath); if (picture != null) { - //Decode file into a bitmap in real size for being able to make zoom on the image + // Decode file into a bitmap in real size for being able to make zoom on + // the image result = BitmapFactory.decodeStream(new FlushedInputStream (new BufferedInputStream(new FileInputStream(picture)))); } @@ -395,22 +392,29 @@ public class PreviewImageFragment extends FileFragment { if (result == null) { mErrorMessageId = R.string.preview_image_error_unknown_format; Log_OC.e(TAG, "File could not be loaded as a bitmap: " + storagePath); + } else { + // Rotate image, obeying exif tag. + result = BitmapUtils.rotateImage(result, storagePath); } } catch (OutOfMemoryError e) { Log_OC.e(TAG, "Out of memory occured for file " + storagePath, e); - // If out of memory error when loading image, try to load it scaled + // If out of memory error when loading or rotating image, try to load it scaled result = loadScaledImage(storagePath); if (result == null) { mErrorMessageId = R.string.preview_image_error_unknown_format; Log_OC.e(TAG, "File could not be loaded as a bitmap: " + storagePath); + } else { + // Rotate scaled image, obeying exif tag + result = BitmapUtils.rotateImage(result, storagePath); } } catch (NoSuchFieldError e) { mErrorMessageId = R.string.common_error_unknown; - Log_OC.e(TAG, "Error from access to unexisting field despite protection; file " + storagePath, e); + Log_OC.e(TAG, "Error from access to unexisting field despite protection; file " + + storagePath, e); } catch (Throwable t) { mErrorMessageId = R.string.common_error_unknown; @@ -418,10 +422,6 @@ public class PreviewImageFragment extends FileFragment { } - // Rotate image, obeying exif tag - result = BitmapUtils.rotateImage(result, storagePath); - - return result; }