diff options
Diffstat (limited to 'org.fox.ttcomics/src/main/java/org')
3 files changed, 25 insertions, 24 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/Application.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/Application.java index 4095886..bacb44c 100755 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/Application.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/Application.java @@ -5,27 +5,15 @@ import android.os.Bundle; import com.livefront.bridge.Bridge; import com.livefront.bridge.SavedStateHandler; -import org.acra.ACRA; -import org.acra.ReportingInteractionMode; -import org.acra.annotation.ReportsCrashes; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import icepick.Icepick; -@ReportsCrashes(mode = ReportingInteractionMode.SILENT, - excludeMatchingSharedPreferencesKeys = {"password", "sync_account"}, - resDialogText = R.string.crash_dialog_text, - formUri = "https://tt-rss.org/acra/submit/") public class Application extends android.app.Application { @Override public final void onCreate() { super.onCreate(); - if (!BuildConfig.DEBUG) { - ACRA.init(this); - } - Bridge.initialize(getApplicationContext(), new SavedStateHandler() { @Override public void saveInstanceState(@NonNull Object target, @NonNull Bundle state) { diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java index f94b14a..0751644 100755 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java @@ -212,7 +212,7 @@ public class ComicListFragment extends StateSavedFragment implements OnItemClick if (holder.thumbnail != null && thumbnailFile.exists()) {
- Glide.with(ComicListFragment.this)
+ Glide.with(m_activity)
.load(thumbnailFile)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(false)
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/archive/CbzComicArchive.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/archive/CbzComicArchive.java index 8757353..987ab86 100755 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/archive/CbzComicArchive.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/archive/CbzComicArchive.java @@ -3,22 +3,24 @@ package org.fox.ttcomics2.archive; import android.os.Parcel;
import android.os.Parcelable;
+import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.exception.ZipException;
+import net.lingala.zip4j.model.FileHeader;
+
import org.fox.ttcomics2.utils.NaturalOrderComparator;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
+import java.util.List;
public class CbzComicArchive extends ComicArchive {
private final String TAG = this.getClass().getSimpleName();
private String m_fileName;
private ZipFile m_zipFile;
- private ArrayList<ZipEntry> m_entries = new ArrayList<ZipEntry>();
+ private ArrayList<String> m_entries = new ArrayList<>();
@Override
public int getCount() {
@@ -27,19 +29,30 @@ public class CbzComicArchive extends ComicArchive { @Override
public InputStream getItem(int index) throws IOException {
- return m_zipFile.getInputStream(m_entries.get(index));
+ try {
+ return m_zipFile.getInputStream(m_zipFile.getFileHeader(m_entries.get(index)));
+ } catch (ZipException e) {
+ throw new IOException(e.getMessage());
+ }
}
private void initialize() throws IOException {
- m_zipFile = new ZipFile(m_fileName);
+ try {
+ m_zipFile = new ZipFile(m_fileName);
- Enumeration<? extends ZipEntry> e = m_zipFile.entries();
+ List<FileHeader> fileHeaders = m_zipFile.getFileHeaders();
- while (e.hasMoreElements()) {
- ZipEntry ze = e.nextElement();
- if (!ze.isDirectory() && isValidComic(ze.getName())) {
- m_entries.add(ze);
+ for (int i = 0; i < fileHeaders.size(); i++) {
+ FileHeader fh = fileHeaders.get(i);
+
+ if (fh != null) {
+ if (!fh.isDirectory() && isValidComic(fh.getFileName())) {
+ m_entries.add(fh.getFileName());
+ }
+ }
}
+ } catch (ZipException e) {
+ throw new IOException(e.getMessage());
}
Collections.sort(m_entries, new NaturalOrderComparator());
|