DownloadEntry修改为DownloadEntity

This commit is contained in:
黄壮华
2016-09-13 07:23:02 +08:00
parent d95d5d5e6b
commit fc68b9add5
36 changed files with 1121 additions and 1009 deletions

View File

@ -25,7 +25,7 @@ public class DownloadManager {
private ArrayMap<String, Long> lastTimeMap;
private ArrayMap<String, LinkedBlockingQueue<String>> platformMap;
private ArrayMap<String, ArrayMap<String, DownloadEntry>> gameMap;
private ArrayMap<String, ArrayMap<String, DownloadEntity>> gameMap;
private ArrayMap<String, String> statusMap;
private DownloadManager(Context context) {
@ -87,20 +87,22 @@ public class DownloadManager {
public void initGameMap() {
gameMap.clear();
List<DownloadEntry> list = DownloadManager.getInstance(context).getAll();
String name;
for (DownloadEntry downloadEntry : list) {
name = downloadEntry.getName();
ArrayMap<String, DownloadEntry> map = gameMap.get(name);
if (map == null) {
map = new ArrayMap<>();
gameMap.put(name, map);
List<DownloadEntity> list = DownloadManager.getInstance(context).getAll();
if (list != null && list.size() != 0) {
String name;
for (DownloadEntity downloadEntity : list) {
name = downloadEntity.getName();
ArrayMap<String, DownloadEntity> map = gameMap.get(name);
if (map == null) {
map = new ArrayMap<>();
gameMap.put(name, map);
}
map.put(downloadEntity.getPlatform(), downloadEntity);
}
map.put(downloadEntry.getMeta().get("platform"), downloadEntry);
}
}
public ArrayMap<String, DownloadEntry> getEntryMap(String name) {
public ArrayMap<String, DownloadEntity> getEntryMap(String name) {
return gameMap.get(name);
}
@ -123,7 +125,7 @@ public class DownloadManager {
return mInstance;
}
private Intent getIntent(DownloadEntry entry, DownloadStatus status) {
private Intent getIntent(DownloadEntity entry, DownloadStatus status) {
Intent service = new Intent(context, DownloadService.class);
service.putExtra(Constants.KEY_DOWNLOAD_ENTRY, entry);
service.putExtra(Constants.KEY_DOWNLOAD_ACTION, status.name());
@ -136,7 +138,7 @@ public class DownloadManager {
* @param url 下载任务的标识url
*/
private boolean checkDownloadEntryRecordValidate(String url) {
DownloadEntry entry = get(url);
DownloadEntity entry = get(url);
if (entry != null && ((int)entry.getPercent()) != 0) {
File file = new File(entry.getPath());
if (!file.exists()) {
@ -155,7 +157,7 @@ public class DownloadManager {
* @return
*/
public boolean isFileCompleted(String url) {
DownloadEntry entry = get(url);
DownloadEntity entry = get(url);
if (entry != null) {
if (entry.getPercent() == 100) {
@ -180,7 +182,7 @@ public class DownloadManager {
*
* @param entry
*/
public void add(DownloadEntry entry) {
public void add(DownloadEntity entry) {
if (entry != null) {
String url = entry.getUrl();
checkDownloadEntryRecordValidate(url);
@ -198,7 +200,7 @@ public class DownloadManager {
*/
public void pause(String url) {
checkDownloadEntryRecordValidate(url);
DownloadEntry entry = DataChanger.getInstance().getDownloadEntries()
DownloadEntity entry = DataChanger.getInstance().getDownloadEntries()
.get(url);
if (entry != null) {
context.startService(getIntent(entry, DownloadStatus.pause));
@ -212,7 +214,7 @@ public class DownloadManager {
* @param url
*/
public void resume(String url) {
DownloadEntry entry = get(url);
DownloadEntity entry = get(url);
// 暂停任务后,把文件删除,然后点继续,文件不存在,需要重新加入下载队列进行下载
if (checkDownloadEntryRecordValidate(url)) {
@ -239,7 +241,7 @@ public class DownloadManager {
}
public void cancel(String url, boolean isDeleteFile) {
DownloadEntry entry = DownloadDao.getInstance(context).get(url);
DownloadEntity entry = DownloadDao.getInstance(context).get(url);
if (entry != null) {
if (isDeleteFile) {
FileUtils.deleteFile(entry.getPath());
@ -247,7 +249,7 @@ public class DownloadManager {
DownloadDao.getInstance(context).delete(url);
Utils.log(DownloadManager.class.getSimpleName(), "cancle==>file and record were deleted!");
}
// DownloadEntry entry = DataChanger.getInstance().getDownloadEntries().get(url);
// DownloadEntity entry = DataChanger.getInstance().getDownloadEntries().get(url);
if (entry != null) {
context.startService(getIntent(entry, DownloadStatus.cancel));
Utils.log(DownloadManager.class.getSimpleName(), "cancel");
@ -258,7 +260,7 @@ public class DownloadManager {
* 取消并删除所有下载任务(包括下载中、等待、暂停状态的任务)
*/
public void cancleAll() {
for (Entry<String, DownloadEntry> entry : DataChanger.getInstance()
for (Entry<String, DownloadEntity> entry : DataChanger.getInstance()
.getDownloadEntries().entrySet()) {
cancel(entry.getValue().getUrl(), true);
}
@ -269,7 +271,7 @@ public class DownloadManager {
* 开始所有下载任务
*/
public void startAll() {
for (Entry<String, DownloadEntry> entry : DataChanger.getInstance()
for (Entry<String, DownloadEntity> entry : DataChanger.getInstance()
.getDownloadEntries().entrySet()) {
add(entry.getValue());
}
@ -280,7 +282,7 @@ public class DownloadManager {
* 暂停所有正在下载的任务
*/
public void pauseAll() {
for (Entry<String, DownloadEntry> entry : DataChanger.getInstance().getDownloadEntries().entrySet()) {
for (Entry<String, DownloadEntity> entry : DataChanger.getInstance().getDownloadEntries().entrySet()) {
if (entry.getValue().getStatus() == DownloadStatus.downloading) {
pause(entry.getValue().getUrl());
}
@ -294,7 +296,7 @@ public class DownloadManager {
* @param url
* @return null表示下载列表中不存在该任务否则返回下载任务
*/
public DownloadEntry get(String url) {
public DownloadEntity get(String url) {
return DownloadDao.getInstance(context).get(url);
}
@ -303,7 +305,7 @@ public class DownloadManager {
*
* @return null表示没有下载任务
*/
public List<DownloadEntry> getAll() {
public List<DownloadEntity> getAll() {
Utils.log(DownloadManager.class.getSimpleName(), "getAll");
return DownloadDao.getInstance(context).getAll();
}