@Override public View getView(int position, View convertView, ViewGroup parent) { MyItem item = getItem(position); View view = LayoutInflater.from(context).inflate(resourceID, null); TextView textView = (TextView) view.findViewById(R.id.item_title); ImageView imageView = (ImageView) view.findViewById(R.id.arrow); textView.setText(item.getName()); imageView.setImageResource(item.getImageId()); return view; }
public void go(final FilePath rootPath, final SVNDepth depth) throws SVNException { final MyItem root = new MyItem(myProject, rootPath, depth, myPartner.createStatusClient(), false); myQueue.add(root); while (!myQueue.isEmpty()) { myPartner.checkCanceled(); final MyItem item = myQueue.removeFirst(); final FilePath path = item.getPath(); final File ioFile = path.getIOFile(); if (path.isDirectory()) { myHandler.setCurrentItem(item); try { item.getClient(ioFile) .doStatus( ioFile, SVNRevision.WORKING, item.getDepth(), false, false, true, false, myHandler, null); myHandler.checkIfCopyRootWasReported(); } catch (SVNException e) { if (e.getErrorMessage().getErrorCode() == SVNErrorCode.WC_NOT_DIRECTORY) { final VirtualFile virtualFile = path.getVirtualFile(); if (virtualFile != null) { if (myPartner.isExcluded(virtualFile)) return; // self is unversioned myReceiver.processUnversioned(virtualFile); processRecursively(virtualFile, item.getDepth()); } } else { throw e; } } } else { if (item.isIsInnerCopyRoot()) { // this means that the status of parent directory had already been checked and is // unversioned; // to avoid SVN exception on status query to unversioned directory; and since we already // know then that the file // status is "unversioned" -> just register the unversioned file if (path.getVirtualFile() != null) { myReceiver.processUnversioned(path.getVirtualFile()); } } else { // just file final SVNStatus status = item.getClient().doStatus(ioFile, false, false); myReceiver.process(path, status); } } } }
public ArrayList<MyItem> initData() { ArrayList<MyItem> items = new ArrayList<MyItem>(); ListItem.clear(); ListItem.add(initPicData()); // 从数据库加载图片跟视频文件到ListItem里 ListItem.add(initVideoData()); // for (int i = 0; i < ListItem.size(); i++) { Map<String, ArrayList<String>> map = ListItem.get(i); Iterator<String> it = map.keySet().iterator(); while (it.hasNext()) { MyItem item = new MyItem(); String data = it.next(); item.data = data; item.paths = map.get(data); item.type = item.paths.get(0).endsWith("jpg") ? 1 : 2; items.add(item); } } return items; }
public void checkIfCopyRootWasReported() { if (!myMetCurrentItem && myCurrentItem.isIsInnerCopyRoot()) { myMetCurrentItem = true; final SVNStatus statusInner = SvnUtil.getStatus(SvnVcs.getInstance(myProject), myCurrentItem.getPath().getIOFile()); if (statusInner == null) return; final SVNStatusType status = statusInner.getNodeStatus(); if (SVNStatusType.OBSTRUCTED.equals(status) || SVNStatusType.STATUS_IGNORED.equals(status) || SVNStatusType.STATUS_NONE.equals(status) || SVNStatusType.STATUS_UNVERSIONED.equals(status) || SVNStatusType.UNKNOWN.equals(status)) { return; } if (myCurrentItem.getPath().getVirtualFile() != null) { myReceiver.processCopyRoot( myCurrentItem.getPath().getVirtualFile(), statusInner.getURL(), WorkingCopyFormat.getInstance(statusInner.getWorkingCopyFormat())); } } }
public void handleStatus(final SVNStatus status) throws SVNException { myPartner.checkCanceled(); final File ioFile = status.getFile(); checkIfCopyRootWasReported(); final LocalFileSystem lfs = LocalFileSystem.getInstance(); VirtualFile vFile = lfs.findFileByIoFile(ioFile); if (vFile == null) { vFile = lfs.refreshAndFindFileByIoFile(ioFile); } if ((vFile != null) && myPartner.isExcluded(vFile)) return; if ((vFile != null) && (SvnVcs.svnStatusIsUnversioned(status))) { myReceiver.processUnversioned(vFile); if (vFile.isDirectory()) { processRecursively(vFile, myCurrentItem.getDepth()); } } else { final FilePath path = VcsUtil.getFilePath(ioFile, status.getKind().equals(SVNNodeKind.DIR)); myReceiver.process(path, status); } }
@Override protected void onProgressUpdate(Integer... values) { item.setProgress(values[0]); }
@Override protected void onPreExecute() { item.setTitle(id); }