diff --git a/app/build.gradle b/app/build.gradle index 53ff4192c..7faead76f 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,8 +40,8 @@ android { minSdkVersion 16 targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - versionCode 7402 - versionName "v7.4.2-EH" + versionCode 7404 + versionName "v7.4.4-EH" buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\"" buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\"" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt index f3404c662..caa81c958 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt @@ -52,7 +52,7 @@ class ChapterCache(private val context: Context) { // --> EH private var diskCache = setupDiskCache(prefs.eh_cacheSize().getOrDefault().toLong()) init { - prefs.eh_cacheSize().asObservable().subscribe { + prefs.eh_cacheSize().asObservable().skip(1).subscribe { // Save old cache for destruction later val oldCache = diskCache diskCache = setupDiskCache(it.toLong()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index 2e2e9a628..f5559564f 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -246,5 +246,5 @@ class PreferencesHelper(val context: Context) { fun eh_utilAutoscrollInterval() = rxPrefs.getFloat(Keys.eh_utilAutoscrollInterval, 3f) - fun eh_cacheSize() = rxPrefs.getString(Keys.eh_utilAutoscrollInterval, "75") + fun eh_cacheSize() = rxPrefs.getString(Keys.eh_cacheSize, "75") } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index e034c449a..b42d3bfa6 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -213,6 +213,9 @@ class ReaderActivity : BaseRxActivity() { var shouldQueuePage = false if(page.status == Page.ERROR) { shouldQueuePage = true + } else if(page.status == Page.LOAD_PAGE + || page.status == Page.DOWNLOAD_IMAGE) { + // Do nothing } else if (page.uri == null) { shouldQueuePage = true } else if (!UniFile.fromUri(this, page.uri).exists()) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PageView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PageView.kt index 7143b8d0c..130bec1d2 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PageView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PageView.kt @@ -15,13 +15,16 @@ import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.viewer.base.PageDecodeErrorLayout import eu.kanade.tachiyomi.ui.reader.viewer.pager.horizontal.RightToLeftReader import eu.kanade.tachiyomi.ui.reader.viewer.pager.vertical.VerticalReader +import eu.kanade.tachiyomi.util.gone import eu.kanade.tachiyomi.util.inflate +import eu.kanade.tachiyomi.util.visible import kotlinx.android.synthetic.main.reader_pager_item.view.* import rx.Observable import rx.Subscription import rx.android.schedulers.AndroidSchedulers import rx.subjects.PublishSubject import rx.subjects.SerializedSubject +import java.net.URLConnection import java.util.concurrent.TimeUnit class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) @@ -59,6 +62,19 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? rotation = -180f } + // --> EH + with(gif_view) { + setOnTouchListener { _, motionEvent -> reader.gestureDetector.onTouchEvent(motionEvent) } + setOnLongClickListener { reader.onLongClick(page) } + settings.loadWithOverviewMode = true + settings.useWideViewPort = true + settings.builtInZoomControls = true + settings.displayZoomControls = false + settings.setSupportZoom(true) + gone() + } + // <-- EH + with(image_view) { setMaxTileSize((reader.activity as ReaderActivity).maxBitmapSize) setDoubleTapZoomStyle(SubsamplingScaleImageView.ZOOM_FOCUS_FIXED) @@ -82,6 +98,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? onImageDecodeError(reader) } }) + // --> EH + visible() + // <-- EH } retry_button.setOnTouchListener { _, event -> @@ -100,6 +119,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? unsubscribeStatus() image_view.setOnTouchListener(null) image_view.setOnImageEventListener(null) + // --> EH + gif_view.setOnTouchListener(null) + // <-- EH super.onDetachedFromWindow() } @@ -187,6 +209,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? progress_container.visibility = View.VISIBLE progress_text.visibility = View.INVISIBLE retry_button.visibility = View.GONE + // --> EH + gif_view.gone() + // <-- EH decodeErrorLayout?.let { removeView(it) decodeErrorLayout = null @@ -200,6 +225,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? progress_container.visibility = View.VISIBLE progress_text.visibility = View.VISIBLE progress_text.setText(R.string.downloading) + // --> EH + gif_view.gone() + // <-- EH } /** @@ -208,6 +236,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private fun setDownloading() { progress_container.visibility = View.VISIBLE progress_text.visibility = View.VISIBLE + // --> EH + gif_view.gone() + // <-- EH } /** @@ -226,8 +257,26 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? return } + // --> EH + val guessedType = file.openInputStream().buffered().use { + URLConnection.guessContentTypeFromStream(it) + } + // <-- EH + progress_text.visibility = View.INVISIBLE - image_view.setImage(ImageSource.uri(file.uri)) + // --> EH + if(guessedType == "image/gif") { + gif_view.loadUrl(uri.toString()) + gif_view.visible() + progress_container.gone() + image_view.gone() + } else { + // <-- EH + image_view.setImage(ImageSource.uri(file.uri)) + // --> EH + gif_view.gone() + } + // <-- EH } /** @@ -236,6 +285,9 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private fun setError() { progress_container.visibility = View.GONE retry_button.visibility = View.VISIBLE + // --> EH + gif_view.gone() + // <-- EH } /** diff --git a/app/src/main/res/layout/reader_pager_item.xml b/app/src/main/res/layout/reader_pager_item.xml index 73b1d8949..f11dea912 100755 --- a/app/src/main/res/layout/reader_pager_item.xml +++ b/app/src/main/res/layout/reader_pager_item.xml @@ -34,6 +34,11 @@ android:layout_width="match_parent" android:layout_height="match_parent"/> + +