Exemplo n.º 1
0
 public final void run()
 {
   
   if (DownloadQueueImpl.this.mRunningMap.size() >= DownloadQueueImpl.this.mMaxConcurrent) {}
   label203:
   do
   {
     return;
     LinkedList localLinkedList = new LinkedList();
     Iterator localIterator1 = DownloadQueueImpl.this.mPendingQueue.keySet().iterator();
     Download localDownload;
     for (;;)
     {
       boolean bool = localIterator1.hasNext();
       localObject = null;
       if (!bool) {
         break label203;
       }
       String str2 = (String)localIterator1.next();
       localDownload = (Download)DownloadQueueImpl.this.mPendingQueue.get(str2);
       localLinkedList.add(str2);
       if (localDownload.getState() == 1)
       {
         long l1 = localDownload.getMaximumSize();
         long l2 = Storage.dataPartitionAvailableSpace();
         long l3 = Storage.externalStorageAvailableSpace();
         if (localDownload.getRequestedDestination() != null)
         {
           if (l3 >= l1) {
             break;
           }
           localDownload.setHttpStatus(198);
           DownloadQueueImpl.this.setDownloadState(localDownload, 5);
         }
         else
         {
           if (l2 >= l1) {
             break;
           }
           localDownload.setHttpStatus(198);
           DownloadQueueImpl.this.setDownloadState(localDownload, 5);
         }
       }
     }
     Object localObject = localDownload;
     Iterator localIterator2 = localLinkedList.iterator();
     while (localIterator2.hasNext())
     {
       String str1 = (String)localIterator2.next();
       DownloadQueueImpl.this.mPendingQueue.remove(str1);
     }
     DownloadQueueImpl localDownloadQueueImpl = DownloadQueueImpl.this;
     if (localObject != null)
     {
       FinskyLog.d("Download %s starting", new Object[] { localObject });
       localDownloadQueueImpl.mRunningMap.put(localObject.getUrl(), localObject);
       DownloadManagerFacade localDownloadManagerFacade = localDownloadQueueImpl.mDownloadManager;
       DownloadQueueImpl.7 local7 = new DownloadQueueImpl.7(localDownloadQueueImpl, localObject);
       localDownloadManagerFacade.enqueue(localObject, local7);
     }
   } while ((DownloadQueueImpl.this.mRunningMap.size() != 0) || (DownloadQueueImpl.this.mDownloadProgressManager == null));
   DownloadProgressManager localDownloadProgressManager = DownloadQueueImpl.this.mDownloadProgressManager;
   Handler localHandler = localDownloadProgressManager.mHandler;
   DownloadProgressManager.2 local2 = new DownloadProgressManager.2(localDownloadProgressManager);
   localHandler.post(local2);
   DownloadQueueImpl.this.mDownloadProgressManager = null;
 }