文件整理、修改

This commit is contained in:
huangzhuanghua
2016-09-04 18:35:43 +08:00
parent cae1f78025
commit da664e5869
34 changed files with 1327 additions and 2045 deletions

View File

@ -14,6 +14,7 @@ import com.gh.common.util.Utils;
import java.io.File;
import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.LinkedBlockingQueue;
public class DownloadManager {
@ -23,11 +24,13 @@ public class DownloadManager {
private Handler handler;
private ArrayMap<String, Long> lastTimeMap;
private ArrayMap<String, LinkedBlockingQueue<String>> platformMap;
private DownloadManager(Context context) {
this.context = context;
lastTimeMap = new ArrayMap<String, Long>();
lastTimeMap = new ArrayMap<>();
platformMap = new ArrayMap<>();
handler = new Handler(context.getMainLooper()){
@Override
@ -42,6 +45,16 @@ public class DownloadManager {
if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) {
pause(url);
}
} else if (msg.what == Constants.DOWNLOAD_ROLL) {
String name = (String) msg.obj;
LinkedBlockingQueue<String> queue = platformMap.get(name);
if (queue.size() > 1) {
queue.offer(queue.poll());
Message message = Message.obtain();
message.obj = name;
message.what = Constants.DOWNLOAD_ROLL;
sendMessageDelayed(message, 3000);
}
}
}
};
@ -52,6 +65,22 @@ public class DownloadManager {
lastTimeMap.put(url, time);
}
public void putQueue(String name, LinkedBlockingQueue<String> queue) {
platformMap.put(name, queue);
}
public LinkedBlockingQueue<String> getQueue(String name) {
return platformMap.get(name);
}
public void removePlatform(String name, String platform) {
LinkedBlockingQueue<String> queue = platformMap.get(name);
if (queue != null) {
queue.remove(platform);
platformMap.put(name, queue);
}
}
public void sendMessageDelayed(Message msg, long delayMillis) {
handler.sendMessageDelayed(msg, delayMillis);
}