diff --git a/app/src/main/java/com/hippo/ehviewer/ehclient/ExDownloader.java b/app/src/main/java/com/hippo/ehviewer/ehclient/ExDownloader.java index a74e5aaba..02cce170b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ehclient/ExDownloader.java +++ b/app/src/main/java/com/hippo/ehviewer/ehclient/ExDownloader.java @@ -51,11 +51,9 @@ public final class ExDownloader implements Runnable { private static final int IO_BUFFER_SIZE = 8 * 1024; - private static final String[] URL_ARRAY_509 = new String[] { - "http://ehgt.org/g/509.gif", - "http://ehgt.org/g/509s.gif", - "http://st.exhentai.net/img/509.gif", - "http://st.exhentai.net/img/509s.gif" + private static final String[] URL_509_SUFFIX_ARRAY = { + "/509.gif", + "/509s.gif" }; private final Context mContext; @@ -786,9 +784,8 @@ public final class ExDownloader implements Runnable { //Check 509 gif boolean get509 = false; - int length = URL_ARRAY_509.length; - for (int j = 0; j < length; j++) { - if (URL_ARRAY_509[j].equals(imageUrl)) { + for (String suffix : URL_509_SUFFIX_ARRAY) { + if (imageUrl.endsWith(suffix)) { // Get 509 gif here get509 = true; break; diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/data/ImageSet.java b/app/src/main/java/com/hippo/ehviewer/gallery/data/ImageSet.java index 75307d24c..c22287c5a 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/data/ImageSet.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/data/ImageSet.java @@ -16,13 +16,8 @@ package com.hippo.ehviewer.gallery.data; -import java.io.File; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; - import android.graphics.BitmapFactory; import android.graphics.Movie; -import android.util.SparseArray; import com.hippo.ehviewer.AppHandler; import com.hippo.ehviewer.ehclient.ExDownloader; @@ -35,6 +30,12 @@ import com.hippo.ehviewer.util.EhUtils; import com.hippo.ehviewer.util.Log; import com.hippo.ehviewer.util.Utils; +import java.io.File; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; + public class ImageSet implements ExDownloader.ListenerForImageSet { private static final String TAG = ImageSet.class.getSimpleName(); @@ -52,8 +53,8 @@ public class ImageSet implements ExDownloader.ListenerForImageSet { private final File mDir; private final AutoExpandArray mImageFilenameArray; private ImageListener mListener; - private final Queue mDecodeQueue = new ConcurrentLinkedQueue(); - private final SparseArray mPercentMap = new SparseArray(5); + private final Queue mDecodeQueue = new ConcurrentLinkedQueue<>(); + private final Map mPercentMap = new ConcurrentHashMap<>(5); private final DecodeWorker mDecodeWorker; /** If true, then wake Worker, worker will stop **/ private volatile boolean mStopWork = false; @@ -266,8 +267,7 @@ public class ImageSet implements ExDownloader.ListenerForImageSet { @Override public void onDownloading(final int index, final float percent) { - mPercentMap.append(index, percent); - + mPercentMap.put(index, percent); AppHandler.getInstance().post(new Runnable() { @Override public void run() {