weblib: fix cover image close()d
[fanfix.git] / src / be / nikiroo / fanfix / DataLoader.java
index d342580614c4a8441efcd967ad4ce37ed9c9879c..901e8da4c13d8a338cccf2945be17a52adef5abd 100644 (file)
@@ -28,6 +28,7 @@ public class DataLoader {
        private Downloader downloader;
        private Downloader downloaderNoCache;
        private Cache cache;
+       private boolean offline;
 
        /**
         * Create a new {@link DataLoader} object.
@@ -69,6 +70,41 @@ public class DataLoader {
                downloaderNoCache = downloader;
                cache = new CacheMemory();
        }
+       
+       /**
+        * This {@link Downloader} is forbidden to try and connect to the network.
+        * <p>
+        * If TRUE, it will only check the cache (even in no-cache mode!).
+        * <p>
+        * Default is FALSE.
+        * 
+        * @return TRUE if offline
+        */
+       public boolean isOffline() {
+               return offline;
+       }
+       
+       /**
+        * This {@link Downloader} is forbidden to try and connect to the network.
+        * <p>
+        * If TRUE, it will only check the cache (even in no-cache mode!).
+        * <p>
+        * Default is FALSE.
+        * 
+        * @param offline TRUE for offline, FALSE for online
+        */
+       public void setOffline(boolean offline) {
+               this.offline = offline;
+               downloader.setOffline(offline);
+               downloaderNoCache.setOffline(offline);
+               
+               // If we don't, we cannot support no-cache using code in OFFLINE mode
+               if (offline) {
+                       downloaderNoCache.setCache(cache);
+               } else {
+                       downloaderNoCache.setCache(null);
+               }
+       }
 
        /**
         * The traces handler for this {@link Cache}.
@@ -278,11 +314,10 @@ public class DataLoader {
                        throws IOException {
                String format;
                if (cover) {
-                       format = Instance.getConfig().getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER)
-                                       .toLowerCase();
+                       format = Instance.getInstance().getConfig().getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER).toLowerCase();
                } else {
-                       format = Instance.getConfig()
-                                       .getString(Config.FILE_FORMAT_IMAGE_FORMAT_CONTENT).toLowerCase();
+                       format = Instance.getInstance().getConfig().getString(Config.FILE_FORMAT_IMAGE_FORMAT_CONTENT)
+                                       .toLowerCase();
                }
                saveAsImage(img, new File(target.toString() + "." + format), format);
        }