Exemplo n.º 1
0
 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);
     }
   }
 }