예제 #1
0
 @Override
 public void onClick(Node node, int position) {
   if (!node.isLeaf()) {
     return;
   }
   if (node.isDownloadAll()) {
     EntityResType2 type2 = GlobalResTypes.ALL_TYPE2S_MAP.get(node.getParent().getId());
     List<EntityResType4> entitys = type2.getType4s();
     if (null != entitys) {
       if (node.isClickedDownloadAll()) {
         node.setClickedDownloadAll(false);
         refreshDownloadName(node);
         for (EntityResType4 entity : entitys) {
           node = mAdapter.getAllNodeMap().get(entity.getId());
           if (node.getStatus() == INode.STATUS_START
               || node.getStatus() == INode.STATUS_WAIT
               || node.getStatus() == INode.STATUS_CONNECTING) {
             node.setStatus(INode.STATUS_STOP);
             entity.setStatus(INode.STATUS_STOP);
             setViewData(node);
           }
         }
         GlobalResTypes.getInstance().stopAllQueueDownload();
         return;
       }
       node.setClickedDownloadAll(true);
       refreshDownloadName(node);
       for (EntityResType4 entity : entitys) {
         node = mAdapter.getAllNodeMap().get(entity.getId());
         if (node.getStatus() == INode.STATUS_NORMAL || node.getStatus() == INode.STATUS_STOP) {
           entity.setStatus(INode.STATUS_CONNECTING);
           node.setStatus(INode.STATUS_CONNECTING);
           setViewData(node);
           GlobalResTypes.getInstance().startDownload(node.getId());
         }
       }
     }
     return;
   }
   switch (node.getStatus()) {
     case INode.STATUS_NORMAL:
     case INode.STATUS_STOP:
       node.setStatus(INode.STATUS_CONNECTING);
       setViewData(node);
       GlobalResTypes.getInstance().startDownload(node.getId());
       break;
     case INode.STATUS_START:
       node.setStatus(INode.STATUS_STOP);
       setViewData(node);
       GlobalResTypes.getInstance().stopDownload(node.getId());
       break;
   }
 }
예제 #2
0
 /**
  * ************************************************************************************************************************
  */
 private void setViewData(Node node) {
   AdapterSimpleTree.ViewHolder v = mAdapter.getViewMap().get(node.getId());
   if (null == v) return;
   Long p = 100L;
   if (node.getStatus() != INode.STATUS_FINISH) {
     p = node.getProgress() * 100 / node.getMax();
   }
   v.pbTreeNode.setProgress(p.intValue());
   v.pbTreeNode.setMax(100);
   AdapterSimpleTree.refreshStatus(v.txtBtn, node.getStatus());
 }
예제 #3
0
 private void refreshDownloadName(Node node) {
   AdapterSimpleTree.ViewHolder v = mAdapter.getViewMap().get(node.getId() + "_dl");
   node.setName(node.isClickedDownloadAll() ? "全部暂停" : "全部下载");
   if (null == v) return;
   v.txtTreeNodeLable.setText(node.getName());
 }