X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a09a837585a98082b1f3e8fa7f00ffcc8df60a95..766b51f497971141da27ed16a11413d1bf590529:/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java diff --git a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java index 5540aa5b..ce53c444 100644 --- a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java +++ b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java @@ -18,7 +18,6 @@ package com.owncloud.android.datamodel; import java.io.File; -import java.io.IOException; import java.lang.ref.WeakReference; import org.apache.commons.httpclient.HttpStatus; @@ -26,19 +25,17 @@ import org.apache.commons.httpclient.methods.GetMethod; import android.accounts.Account; import android.accounts.AccountManager; -import android.accounts.AuthenticatorException; -import android.accounts.OperationCanceledException; -import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; import android.graphics.BitmapFactory; +import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.media.ExifInterface; import android.media.ThumbnailUtils; import android.net.Uri; import android.os.AsyncTask; -import android.util.TypedValue; import android.widget.ImageView; import com.owncloud.android.MainApp; @@ -46,7 +43,6 @@ import com.owncloud.android.R; import com.owncloud.android.lib.common.OwnCloudAccount; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; -import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; import com.owncloud.android.lib.common.accounts.AccountUtils.Constants; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.status.OwnCloudVersion; @@ -85,11 +81,6 @@ public class ThumbnailsCacheManager { public static class InitDiskCacheTask extends AsyncTask { - private static Context mContext; - - public InitDiskCacheTask(Context context) { - mContext = context; - } @Override protected Void doInBackground(File... params) { @@ -204,7 +195,8 @@ public class ThumbnailsCacheManager { mServerVersion = accountMgr.getUserData(mAccount, Constants.KEY_OC_VERSION); OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, MainApp.getAppContext()); - mClient = OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(ocAccount, MainApp.getAppContext()); + mClient = OwnCloudClientManagerFactory.getDefaultSingleton(). + getClientFor(ocAccount, MainApp.getAppContext()); } mFile = params[0]; @@ -226,6 +218,9 @@ public class ThumbnailsCacheManager { if (bitmap != null) { thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px); + + // Rotate image, obeying exif tag + thumbnail = BitmapUtils.rotateImage(thumbnail, mFile.getStoragePath()); // Add thumbnail to cache addBitmapToCache(imageKey, thumbnail); @@ -242,8 +237,8 @@ public class ThumbnailsCacheManager { try { int status = -1; - String uri = mClient.getBaseUri() + "/index.php/apps/files/api/v1/thumbnail/" + px + "/" + px - + Uri.encode(mFile.getRemotePath(), "/"); + String uri = mClient.getBaseUri() + "/index.php/apps/files/api/v1/thumbnail/" + + px + "/" + px + Uri.encode(mFile.getRemotePath(), "/"); Log_OC.d("Thumbnail", "URI: " + uri); GetMethod get = new GetMethod(uri); status = mClient.executeMethod(get); @@ -327,5 +322,5 @@ public class ThumbnailsCacheManager { mThumbnailsDiskCacheLock.notifyAll(); // Wake any waiting threads } } - + }