From 0812c9025d5703911e3c00fda055b0d0e8959c92 Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Sat, 18 Aug 2018 02:00:00 +0800 Subject: [PATCH] Do not check game asset hash code for every launching --- .../download/game/GameAssetDownloadTask.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java index d60ecc76a..d8940ca0e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java @@ -75,8 +75,6 @@ public final class GameAssetDownloadTask extends Task { @Override public void execute() throws Exception { - int size = refreshTask.getResult().size(); - int downloaded = 0; for (Map.Entry entry : refreshTask.getResult()) { if (Thread.interrupted()) throw new InterruptedException(); @@ -88,29 +86,11 @@ public final class GameAssetDownloadTask extends Task { Logging.LOG.log(Level.SEVERE, "Unable to create new file " + file + ", because parent directory cannot be created"); continue; } - if (file.isDirectory()) + if (file.isDirectory() || file.isFile() && file.exists()) continue; - boolean flag = true; - try { - // check the checksum of file to ensure that the file is not need to re-download. - if (file.exists()) { - String sha1 = encodeHex(digest("SHA-1", FileUtils.readBytes(file))); - if (sha1.equals(assetObject.getHash())) { - ++downloaded; - Logging.LOG.finest("File $file has been downloaded successfully, skipped downloading"); - updateProgress(downloaded, size); - continue; - } - } - } catch (IOException e) { - Logging.LOG.log(Level.WARNING, "Unable to get hash code of file " + file, e); - flag = !file.exists(); - } - if (flag) { - FileDownloadTask task = new FileDownloadTask(NetworkUtils.toURL(url), file, new IntegrityCheck("SHA-1", assetObject.getHash())); - task.setName(assetObject.getHash()); - dependencies.add(task); - } + FileDownloadTask task = new FileDownloadTask(NetworkUtils.toURL(url), file, new IntegrityCheck("SHA-1", assetObject.getHash())); + task.setName(assetObject.getHash()); + dependencies.add(task); } }