From: David A. Velasco Date: Tue, 23 Sep 2014 12:28:23 +0000 (+0200) Subject: Protect the app against crashes when opening the thumbnails cache X-Git-Tag: oc-android-1.7.0_signed~163^2~2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/e72555f2bde1165a5afa9c32f3baeae6ea0b0e38 Protect the app against crashes when opening the thumbnails cache --- 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 }