From: tobiasKaminsky Date: Thu, 30 Oct 2014 07:20:55 +0000 (+0100) Subject: Bugfix X-Git-Tag: oc-android-1.7.0_signed~121^2~4 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/595a63bc3960093cd90e64a885c0c3b8cf629c54?ds=inline;hp=--cc Bugfix --- 595a63bc3960093cd90e64a885c0c3b8cf629c54 diff --git a/src/com/owncloud/android/MainApp.java b/src/com/owncloud/android/MainApp.java index 37a3e6ff..93da1390 100644 --- a/src/com/owncloud/android/MainApp.java +++ b/src/com/owncloud/android/MainApp.java @@ -58,8 +58,7 @@ public class MainApp extends Application { } // initialise thumbnails cache on background thread - new ThumbnailsCacheManager.InitDiskCacheTask(AccountUtils.getCurrentOwnCloudAccount(mContext), - mContext).execute(); + new ThumbnailsCacheManager.InitDiskCacheTask(mContext).execute(); if (BuildConfig.DEBUG) { diff --git a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java index 544ad387..82fdd8fc 100644 --- a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java +++ b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java @@ -84,11 +84,9 @@ public class ThumbnailsCacheManager { public static class InitDiskCacheTask extends AsyncTask { - private static Account mAccount; private static Context mContext; - public InitDiskCacheTask(Account account, Context context) { - mAccount = account; + public InitDiskCacheTask(Context context) { mContext = context; } @@ -99,28 +97,6 @@ public class ThumbnailsCacheManager { if (mThumbnailCache == null) { try { - OwnCloudAccount ocAccount; - try { - if (mAccount != null) { - AccountManager accountMgr = AccountManager.get(mContext); - mServerVersion = accountMgr.getUserData(mAccount, Constants.KEY_OC_VERSION); - ocAccount = new OwnCloudAccount(mAccount, mContext); - mClient = OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(ocAccount, mContext); - } - } catch (AccountNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (AuthenticatorException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (OperationCanceledException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - // Check if media is mounted or storage is built-in, if so, // try and use external cache dir; otherwise use internal cache dir final String cachePath = @@ -203,15 +179,17 @@ public class ThumbnailsCacheManager { public static class ThumbnailGenerationTask extends AsyncTask { private final WeakReference mImageViewReference; + private static Account mAccount; private OCFile mFile; private FileDataStorageManager mStorageManager; - public ThumbnailGenerationTask(ImageView imageView, FileDataStorageManager storageManager) { + public ThumbnailGenerationTask(ImageView imageView, FileDataStorageManager storageManager, Account account) { // Use a WeakReference to ensure the ImageView can be garbage collected mImageViewReference = new WeakReference(imageView); if (storageManager == null) throw new IllegalArgumentException("storageManager must not be NULL"); mStorageManager = storageManager; + mAccount = account; } // Decode image in background. @@ -220,6 +198,14 @@ public class ThumbnailsCacheManager { Bitmap thumbnail = null; try { + if (mAccount != null) { + AccountManager accountMgr = AccountManager.get(MainApp.getAppContext()); + + mServerVersion = accountMgr.getUserData(mAccount, Constants.KEY_OC_VERSION); + OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, MainApp.getAppContext()); + mClient = OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(ocAccount, MainApp.getAppContext()); + } + mFile = params[0]; final String imageKey = String.valueOf(mFile.getRemoteId()); @@ -274,6 +260,8 @@ public class ThumbnailsCacheManager { } catch (Exception e) { e.printStackTrace(); } + } else { + Log_OC.d(TAG, "Server too old"); } } } diff --git a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java index 048173a9..7007ad3f 100644 --- a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java +++ b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java @@ -98,7 +98,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter { mSortAscending = mAppPreferences.getBoolean("sortAscending", true); // initialise thumbnails cache on background thread - new ThumbnailsCacheManager.InitDiskCacheTask(mAccount, mContext).execute(); + new ThumbnailsCacheManager.InitDiskCacheTask(mContext).execute(); } @@ -219,7 +219,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter { if (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)) { final ThumbnailsCacheManager.ThumbnailGenerationTask task = new ThumbnailsCacheManager.ThumbnailGenerationTask( - fileIcon, mStorageManager + fileIcon, mStorageManager, mAccount ); if (thumbnail == null) { thumbnail = ThumbnailsCacheManager.mDefaultImg;