void addDownloadTarget( PictureCache cache, String URL, Object cookie, PictureLoaderHandler loadHandler, CacheKey key, long itemDate, LifeSpan lifeSpan) { // find out if that URL is already loading, if so add the view to the recipient synchronized (mJobs) { // add job by URL BitmapDownloader downloader = mJobs.get(URL); if (DEBUG_DOWNLOADER) LogManager.logger.i( PictureCache.LOG_TAG, "add loader:" + loadHandler + " to downloader:" + downloader); final boolean targetAdded = downloader != null && downloader.addTarget(loadHandler, key, itemDate, lifeSpan); if (!targetAdded) { if (DEBUG_DOWNLOADER) LogManager.logger.i( PictureCache.LOG_TAG, "add new downloader for " + URL + " key:" + key + " loader:" + loadHandler + " jobs:" + mJobs); // create a fresh new one if an old one is not ready to accept our loadHandler downloader = new BitmapDownloader(URL, cookie, cache); downloader.setMonitor(this); mJobs.put(URL, downloader); downloader.addTarget(loadHandler, key, itemDate, lifeSpan); } if (DEBUG_DOWNLOADER) { downloader = mJobs.get(URL); LogManager.logger.e( PictureCache.LOG_TAG, "downloader for " + URL + " = " + downloader + " loader added:" + targetAdded); } } }