Protect the app against crashes when opening the thumbnails cache
authorDavid A. Velasco <dvelasco@solidgear.es>
Tue, 23 Sep 2014 12:28:23 +0000 (14:28 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Tue, 23 Sep 2014 12:28:23 +0000 (14:28 +0200)
src/com/owncloud/android/ui/adapter/DiskLruImageCache.java
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

index ce60d55..fceaba2 100644 (file)
@@ -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 )
index 93a7b30..ef95a8a 100644 (file)
@@ -104,9 +104,13 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         @Override\r
         protected Void doInBackground(File... params) {\r
             synchronized (thumbnailDiskCacheLock) {\r
-                mThumbnailCache = new DiskLruImageCache(mContext, "thumbnailCache", \r
-                                    DISK_CACHE_SIZE, mCompressFormat, mCompressQuality);\r
-\r
+                try {\r
+                    mThumbnailCache = new DiskLruImageCache(mContext, "thumbnailCache", \r
+                                        DISK_CACHE_SIZE, mCompressFormat, mCompressQuality);\r
+                } catch (Exception e) {\r
+                    Log_OC.d(TAG, "Thumbnail cache could not be opened ", e);\r
+                    mThumbnailCache = null;\r
+                }\r
                 mThumbnailCacheStarting = false; // Finished initialization\r
                 thumbnailDiskCacheLock.notifyAll(); // Wake any waiting threads\r
             }\r