package com.owncloud.android.datamodel;
import java.io.File;
-import java.io.IOException;
import java.lang.ref.WeakReference;
import org.apache.commons.httpclient.HttpStatus;
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.media.ThumbnailUtils;
import android.net.Uri;
import android.os.AsyncTask;
-import android.util.TypedValue;
import android.widget.ImageView;
import com.owncloud.android.MainApp;
+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;
private static final String TAG = ThumbnailsCacheManager.class.getSimpleName();
private static final String CACHE_FOLDER = "thumbnailCache";
- private static final String MINOR_SERVER_VERSION_FOR_THUMBS = "7.8.0";
+ private static final String MINOR_SERVER_VERSION_FOR_THUMBS = "6.8.0";
private static final Object mThumbnailsDiskCacheLock = new Object();
private static DiskLruImageCache mThumbnailCache = null;
public static class InitDiskCacheTask extends AsyncTask<File, Void, Void> {
- private static Context mContext;
-
- public InitDiskCacheTask(Context context) {
- mContext = context;
- }
@Override
protected Void doInBackground(File... params) {
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];
// Not found in disk cache
if (thumbnail == null || mFile.needsUpdateThumbnail()) {
- // Converts dp to pixel
- Resources r = MainApp.getAppContext().getResources();
- int px = (int) Math.round(TypedValue.applyDimension(
- TypedValue.COMPLEX_UNIT_DIP, 150, r.getDisplayMetrics()
- ));
+ // Use Width of imageView -> no blurry images on big screens
+ int px = mImageViewReference.get().getWidth();
if (mFile.isDown()){
Bitmap bitmap = BitmapUtils.decodeSampledBitmapFromFile(
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);
final ThumbnailGenerationTask bitmapWorkerTask =
getBitmapWorkerTask(imageView);
if (this == bitmapWorkerTask && imageView != null) {
- if (imageView.getTag().equals(mFile.getFileId())) {
- imageView.setImageBitmap(bitmap);
- }
+ imageView.setImageBitmap(bitmap);
}
}
}