From e72555f2bde1165a5afa9c32f3baeae6ea0b0e38 Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Tue, 23 Sep 2014 14:28:23 +0200 Subject: [PATCH] Protect the app against crashes when opening the thumbnails cache --- .../owncloud/android/ui/adapter/DiskLruImageCache.java | 18 +++++++----------- .../android/ui/adapter/FileListListAdapter.java | 10 +++++++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/com/owncloud/android/ui/adapter/DiskLruImageCache.java b/src/com/owncloud/android/ui/adapter/DiskLruImageCache.java index ce60d55f..fceaba23 100644 --- a/src/com/owncloud/android/ui/adapter/DiskLruImageCache.java +++ b/src/com/owncloud/android/ui/adapter/DiskLruImageCache.java @@ -36,17 +36,13 @@ public class DiskLruImageCache { private static final String TAG = "DiskLruImageCache"; public DiskLruImageCache( Context context,String uniqueName, int diskCacheSize, - CompressFormat compressFormat, int quality ) { - try { - final File diskCacheDir = getDiskCacheDir(context, uniqueName ); - mDiskCache = DiskLruCache.open( - diskCacheDir, CACHE_VERSION, VALUE_COUNT, diskCacheSize - ); - mCompressFormat = compressFormat; - mCompressQuality = quality; - } catch (IOException e) { - e.printStackTrace(); - } + CompressFormat compressFormat, int quality ) throws IOException { + final File diskCacheDir = getDiskCacheDir(context, uniqueName ); + mDiskCache = DiskLruCache.open( + diskCacheDir, CACHE_VERSION, VALUE_COUNT, diskCacheSize + ); + mCompressFormat = compressFormat; + mCompressQuality = quality; } private boolean writeBitmapToFile( Bitmap bitmap, DiskLruCache.Editor editor ) diff --git a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java index 93a7b301..ef95a8a2 100644 --- a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java +++ b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java @@ -104,9 +104,13 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter { @Override protected Void doInBackground(File... params) { synchronized (thumbnailDiskCacheLock) { - mThumbnailCache = new DiskLruImageCache(mContext, "thumbnailCache", - DISK_CACHE_SIZE, mCompressFormat, mCompressQuality); - + try { + mThumbnailCache = new DiskLruImageCache(mContext, "thumbnailCache", + DISK_CACHE_SIZE, mCompressFormat, mCompressQuality); + } catch (Exception e) { + Log_OC.d(TAG, "Thumbnail cache could not be opened ", e); + mThumbnailCache = null; + } mThumbnailCacheStarting = false; // Finished initialization thumbnailDiskCacheLock.notifyAll(); // Wake any waiting threads } -- 2.11.0