summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics')
-rwxr-xr-xorg.fox.ttcomics/build.gradle6
-rwxr-xr-xorg.fox.ttcomics/org.fox.ttcomics.iml43
-rwxr-xr-xorg.fox.ttcomics/src/main/AndroidManifest.xml10
-rwxr-xr-xorg.fox.ttcomics/src/main/java/com/github/chrisbanes/photoview/PhotoViewAttacher.java2
-rwxr-xr-xorg.fox.ttcomics/src/main/java/org/fox/ttcomics2/Application.java12
-rwxr-xr-xorg.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java2
-rwxr-xr-xorg.fox.ttcomics/src/main/java/org/fox/ttcomics2/archive/CbzComicArchive.java35
-rwxr-xr-xorg.fox.ttcomics/src/main/res/layout/comics_grid_row.xml1
-rwxr-xr-xorg.fox.ttcomics/src/main/res/layout/fragment_comics_pager.xml82
9 files changed, 93 insertions, 100 deletions
diff --git a/org.fox.ttcomics/build.gradle b/org.fox.ttcomics/build.gradle
index 9e52a1c..e5ec55f 100755
--- a/org.fox.ttcomics/build.gradle
+++ b/org.fox.ttcomics/build.gradle
@@ -48,12 +48,11 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
- implementation 'com.google.android.material:material:1.1.0-alpha03'
+ implementation 'androidx.appcompat:appcompat:1.0.2'
+ implementation 'com.google.android.material:material:1.0.0'
implementation 'com.shamanland:fab:0.0.8'
implementation 'jp.co.recruit_mp:android-HeaderFooterGridView:0.2.4'
implementation 'com.github.bumptech.glide:glide:3.8.0'
- implementation 'ch.acra:acra:4.9.1'
implementation 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar'
implementation 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar'
implementation 'frankiesardo:icepick:3.2.0'
@@ -65,4 +64,5 @@ dependencies {
implementation files('libs/nineoldandroids-2.4.0.jar')
implementation 'com.gu:option:1.3'
implementation 'net.rdrei.android.dirchooser:library:3.2@aar'
+ implementation 'com.github.joielechong:zip4jandroid:1.0.1'
}
diff --git a/org.fox.ttcomics/org.fox.ttcomics.iml b/org.fox.ttcomics/org.fox.ttcomics.iml
index 4d82cb9..e01f64f 100755
--- a/org.fox.ttcomics/org.fox.ttcomics.iml
+++ b/org.fox.ttcomics/org.fox.ttcomics.iml
@@ -28,15 +28,15 @@
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
@@ -89,16 +89,22 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-libraries" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkDebugClasspath" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkReleaseClasspath" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/external_libs_dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_app_manifest" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_app_info_output_file" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_main_apk_resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
@@ -108,6 +114,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/metadata_feature_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
@@ -116,6 +123,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/signing_config" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
@@ -127,70 +135,67 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Gradle: stencil:stencil:0.3.5@jar" level="project" />
<orderEntry type="library" name="Gradle: org.clojure:data.priority-map:0.0.2@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.google.android.material:material:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.documentfile:documentfile:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.cardview:cardview:1.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.recyclerview:recyclerview:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base:16.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: net.rdrei.android.dirchooser:library:3.2@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.core:core:1.1.0-alpha03@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: __local_aars__:C.\Users\fox\Projects\tt-comics\org.fox.ttcomics\libs\nineoldandroids-2.4.0.jar:unspecified@jar" level="project" />
<orderEntry type="library" name="Gradle: com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.gu:option:1.3@jar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.0.1@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: quoin:quoin:0.1.2@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.media:media:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement:16.2.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-auth-api-phone:16.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: jp.co.recruit_mp:android-HeaderFooterGridView:0.2.4@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-auth:16.0.1@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.1.0-alpha01@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-v4:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: org.clojure:clojure:1.7.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.google.guava:listenablefuture:1.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.concurrent:concurrent-futures:1.0.0-alpha02@jar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.1.0-alpha02@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.guava:guava:18.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.google.auto.service:auto-service:1.0-rc2@jar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-auth-base:16.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-ui:1.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.github.joielechong:zip4jandroid:1.0.1@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: frankiesardo:icepick:3.2.0@jar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.0.2@aar" level="project" />
<orderEntry type="library" name="Gradle: scout:scout:0.1.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.github.livefront:bridge:v1.1.2@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.activity:activity:1.0.0-alpha02@aar" level="project" />
- <orderEntry type="library" name="Gradle: ch.acra:acra:4.9.1@aar" level="project" />
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:glide:3.8.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: frankiesardo:icepick-processor:3.2.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.0-alpha01@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.google.android.material:material:1.1.0-alpha03@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0-alpha01@jar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0-alpha01@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.auto:auto-common:0.3@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.0.1@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.print:print:1.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: org.clojure:core.cache:0.6.3@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.shamanland:fab:0.0.8@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.transition:transition:1.0.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.transition:transition:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: slingshot:slingshot:0.10.3@jar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.nhaarman.listviewanimations:lib-core:3.1.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.recyclerview:recyclerview:1.1.0-alpha01@aar" level="project" />
- <orderEntry type="library" name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.1.0-alpha01@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.core:core:1.0.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: androidx.collection:collection:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks:16.0.1@aar" level="project" />
</component>
</module> \ No newline at end of file
diff --git a/org.fox.ttcomics/src/main/AndroidManifest.xml b/org.fox.ttcomics/src/main/AndroidManifest.xml
index 2ee0e0f..4c39172 100755
--- a/org.fox.ttcomics/src/main/AndroidManifest.xml
+++ b/org.fox.ttcomics/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.fox.ttcomics2"
- android:versionCode="89"
- android:versionName="1.47" >
+ android:versionCode="91"
+ android:versionName="1.49" >
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
@@ -53,12 +53,6 @@
<activity
android:name="net.rdrei.android.dirchooser.DirectoryChooserActivity">
</activity>
-
- <activity android:name="org.acra.CrashReportDialog"
- android:theme="@style/DarkDialogTheme"
- android:launchMode="singleInstance"
- android:excludeFromRecents="true"
- android:finishOnTaskLaunch="true" />
<service
android:name=".sync.SyncFolderService"
diff --git a/org.fox.ttcomics/src/main/java/com/github/chrisbanes/photoview/PhotoViewAttacher.java b/org.fox.ttcomics/src/main/java/com/github/chrisbanes/photoview/PhotoViewAttacher.java
index faf3491..a29b4ba 100755
--- a/org.fox.ttcomics/src/main/java/com/github/chrisbanes/photoview/PhotoViewAttacher.java
+++ b/org.fox.ttcomics/src/main/java/com/github/chrisbanes/photoview/PhotoViewAttacher.java
@@ -609,7 +609,7 @@ public class PhotoViewAttacher implements View.OnTouchListener,
(viewHeight - drawableHeight) / 2F);
} else if (mScaleType == ScaleType.CENTER_CROP) {
- float scale = Math.max(widthScale, heightScale);
+ float scale = widthScale; //Math.max(widthScale, heightScale);
mBaseMatrix.postScale(scale, scale);
/*mBaseMatrix.postTranslate((viewWidth - drawableWidth * scale) / 2F,
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());
diff --git a/org.fox.ttcomics/src/main/res/layout/comics_grid_row.xml b/org.fox.ttcomics/src/main/res/layout/comics_grid_row.xml
index 66edd74..222f789 100755
--- a/org.fox.ttcomics/src/main/res/layout/comics_grid_row.xml
+++ b/org.fox.ttcomics/src/main/res/layout/comics_grid_row.xml
@@ -78,6 +78,7 @@
android:src="@drawable/ic_dots_circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:tint="?colorAccent"
android:id="@+id/overflow"
android:background="@drawable/ripple" />
</FrameLayout>
diff --git a/org.fox.ttcomics/src/main/res/layout/fragment_comics_pager.xml b/org.fox.ttcomics/src/main/res/layout/fragment_comics_pager.xml
index 0730abc..0694e90 100755
--- a/org.fox.ttcomics/src/main/res/layout/fragment_comics_pager.xml
+++ b/org.fox.ttcomics/src/main/res/layout/fragment_comics_pager.xml
@@ -13,57 +13,49 @@
android:id="@+id/comics_pager"
android:layout_alignParentBottom="true" />
- <RelativeLayout
+ <TableLayout
android:background="?colorButtonNormal"
android:id="@+id/comics_bottom_bar"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_alignParentBottom="true">
- <SeekBar
- android:layout_width="wrap_content"
- android:layout_height="32dp"
- android:id="@+id/comics_seek_bar"
- android:layout_alignParentBottom="true"
- android:layout_toRightOf="@+id/comics_page"
- android:layout_toLeftOf="@+id/comics_total_pages"
- android:layout_toStartOf="@+id/comics_total_pages"
- android:layout_alignParentTop="true"
- android:minHeight="32dp"
- android:maxWidth="32dp" />
-
- <TextView
- android:layout_width="60dp"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:text="1123"
- android:id="@+id/comics_total_pages"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- android:singleLine="true"
- android:layout_alignTop="@+id/comics_seek_bar"
- android:gravity="center"
- android:layout_alignBottom="@+id/comics_seek_bar"
- tools:ignore="HardcodedText"
- android:layout_alignParentBottom="true" />
-
- <TextView
- android:layout_width="60dp"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:text="1"
- android:id="@+id/comics_page"
- android:singleLine="true"
- android:gravity="center"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
- android:layout_alignParentBottom="true"
- android:layout_alignTop="@+id/comics_seek_bar"
- android:layout_alignBottom="@+id/comics_seek_bar"
- tools:ignore="HardcodedText" />
-
-
- </RelativeLayout>
+ <TableRow
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/comics_page"
+ android:layout_width="60dp"
+ android:layout_height="match_parent"
+ android:layout_weight="0"
+ android:gravity="center"
+ android:singleLine="true"
+ android:text="1"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ tools:ignore="HardcodedText" />
+
+ <SeekBar
+ android:id="@+id/comics_seek_bar"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:maxWidth="32dp"
+ android:minHeight="32dp" />
+
+ <TextView
+ android:id="@+id/comics_total_pages"
+ android:layout_width="60dp"
+ android:layout_height="match_parent"
+ android:layout_weight="0"
+ android:gravity="center"
+ android:singleLine="true"
+ android:text="1123"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ tools:ignore="HardcodedText" />
+
+ </TableRow>
+ </TableLayout>