/** * @description: * @author chenshiqiang E-mail:csqwyyx@163.com * @date 2014年5月19日 上午12:24:02 * @version 1.0 */ package com.csq.thesceneryalong.logic.manager; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import com.csq.thesceneryalong.db.Track; import com.csq.thesceneryalong.models.events.EventTrackImport; import com.csq.thesceneryalong.utils.dbmodel.TrackUtil; import de.greenrobot.event.EventBus; public class TrackImportManager { private static volatile TrackImportManager instance; public static TrackImportManager getInstance(){ if(instance == null){ synchronized (TrackImportManager.class) { instance = new TrackImportManager(); } } return instance; } private ExecutorService executorService; private TrackImportManager(){ executorService = Executors.newSingleThreadExecutor(); } public void addImportList(List<String> list){ final int totalSize = list.size(); for(int i = 0; i < totalSize; i++){ final String tsaPath = list.get(i); final int index = i; executorService.submit(new Runnable() { @Override public void run() { // TODO Auto-generated method stub Track track = TrackUtil.importATrack(tsaPath); EventBus.getDefault().post(new EventTrackImport(index, totalSize, track)); } }); } } }