/** * Set the cacheFolder to use. * @param cacheFolder * the new cache folder to use. Can be null, will then default to * {@link #DEFAULT_ROOT_CACHE_DIR} sub folder in the application * cache dir. * @throws CacheCreationException * if the cache folder doesn't exist or can't be created. */ public void setCacheFolder(File cacheFolder) throws CacheCreationException { if (cacheFolder == null) { cacheFolder = new File(getApplication().getCacheDir(), DEFAULT_ROOT_CACHE_DIR); } synchronized (cacheFolder.getAbsolutePath().intern()) { if (!cacheFolder.exists() && !cacheFolder.mkdirs()) { throw new CacheCreationException("The cache folder " + cacheFolder.getAbsolutePath() + " could not be created."); } } this.cacheFolder = cacheFolder; }
/** * Sets the folder used by object persisters of this factory. * @param cacheFolder * the new cache folder of this factory (and persisters it will * create). Ca be null, it will then default to the sub folder * {@link InFileObjectPersister#DEFAULT_ROOT_CACHE_DIR} in side * the application cache folder. Will be created if doesn't exist * yet. * @throws CacheCreationException */ public void setCacheFolder(File cacheFolder) throws CacheCreationException { if (cacheFolder == null) { cacheFolder = new File(getApplication().getCacheDir(), InFileObjectPersister.DEFAULT_ROOT_CACHE_DIR); } this.cacheFolder = cacheFolder; if (!cacheFolder.exists() && !cacheFolder.mkdirs()) { throw new CacheCreationException("The cache folder " + cacheFolder.getAbsolutePath() + " could not be created."); } }
@Override public void onCreate() { super.onCreate(); try { cacheManager = createCacheManager(getApplication()); } catch (CacheCreationException e) { Ln.e(e); stopSelf(); return; } if (cacheManager == null) { Ln.e(new CacheCreationException("createCacheManager() can't create a null cacheManager")); stopSelf(); return; } final RequestListenerNotifier progressReporter = createRequestRequestListenerNotifier(); final SpiceServiceListenerNotifier spiceServiceListenerNotifier = createSpiceServiceListenerNotifier(); final RequestProcessorListener requestProcessorListener = createRequestProcessorListener(); final ExecutorService executorService = getExecutorService(); final NetworkStateChecker networkStateChecker = getNetworkStateChecker(); final RequestProgressManager requestProgressManager = createRequestProgressManager(requestProcessorListener, progressReporter, spiceServiceListenerNotifier); final RequestRunner requestRunner = createRequestRunner(executorService, networkStateChecker, requestProgressManager); requestProcessor = createRequestProcessor(cacheManager, requestProgressManager, requestRunner); requestProcessor.setFailOnCacheError(DEFAULT_FAIL_ON_CACHE_ERROR); notification = createDefaultNotification(); isCreated = true; Ln.d("SpiceService instance created."); }