Replaced filter button in reader with open manga in webview

This commit is contained in:
Jay 2020-05-22 15:07:38 -04:00
parent 6616189463
commit 0184b0678d
7 changed files with 33 additions and 68 deletions

View File

@ -48,6 +48,7 @@ import eu.kanade.tachiyomi.ui.reader.viewer.pager.L2RPagerViewer
import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer
import eu.kanade.tachiyomi.ui.reader.viewer.pager.VerticalPagerViewer
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
import eu.kanade.tachiyomi.util.storage.getUriCompat
import eu.kanade.tachiyomi.util.system.GLUtil
import eu.kanade.tachiyomi.util.system.ThemeUtil
@ -745,6 +746,20 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>(),
}
}
fun openMangaInBrowser() {
val source = presenter.getSource() ?: return
val url = try {
source.mangaDetailsRequest(presenter.manga!!).url.toString()
} catch (e: Exception) {
return
}
val intent = WebViewActivity.newIntent(
applicationContext, source.id, url, presenter.manga!!.title
)
startActivity(intent)
}
/**
* Class that handles the user preferences of the reader.
*/

View File

@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
import eu.kanade.tachiyomi.ui.reader.chapter.ReaderChapterItem
import eu.kanade.tachiyomi.ui.reader.loader.ChapterLoader
@ -452,6 +453,8 @@ class ReaderPresenter(
return viewerChaptersRelay.value?.currChapter
}
fun getSource() = sourceManager.getOrStub(manga!!.source) as? HttpSource
/**
* Returns the viewer position used by this manga or the default one.
*/

View File

@ -1,37 +0,0 @@
package eu.kanade.tachiyomi.ui.reader.chapter
import android.view.ViewGroup
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.view.expand
import eu.kanade.tachiyomi.util.view.setBottomEdge
import eu.kanade.tachiyomi.util.view.setEdgeToEdge
import kotlinx.android.synthetic.main.chapter_filter_layout.*
import kotlinx.android.synthetic.main.chapter_filter_sheet.*
import kotlinx.android.synthetic.main.reader_chapters_sheet.*
class ChapterFilterSheet(activity: ReaderActivity, manga: Manga) :
BottomSheetDialog(activity, R.style.BottomSheetDialogTheme) {
init {
val view = activity.layoutInflater.inflate(R.layout.chapter_filter_sheet, null)
setContentView(view)
BottomSheetBehavior.from(view.parent as ViewGroup).expand()
setEdgeToEdge(activity, view)
setBottomEdge(show_bookmark, activity)
chapter_filter_layout.setCheckboxes(manga)
setOnDismissListener {
activity.presenter.setFilters(
show_read.isChecked,
show_unread.isChecked,
show_download.isChecked,
show_bookmark.isChecked
)
activity.chapters_bottom_sheet.refreshList()
}
}
}

View File

@ -53,8 +53,8 @@ class ReaderChapterSheet @JvmOverloads constructor(context: Context, attrs: Attr
}
}
filter_button.setOnClickListener {
ChapterFilterSheet(activity, presenter.manga!!).show()
webview_button.setOnClickListener {
activity.openMangaInBrowser()
}
post {
@ -66,8 +66,8 @@ class ReaderChapterSheet @JvmOverloads constructor(context: Context, attrs: Attr
pill.alpha = (1 - max(0f, progress)) * 0.25f
val trueProgress = max(progress, 0f)
chapters_button.alpha = 1 - trueProgress
filter_button.alpha = trueProgress
filter_button.visibleIf(filter_button.alpha > 0)
webview_button.alpha = trueProgress
webview_button.visibleIf(webview_button.alpha > 0)
chapters_button.visInvisIf(chapters_button.alpha > 0)
backgroundTintList =
ColorStateList.valueOf(lerpColor(primary, fullPrimary, trueProgress))
@ -87,15 +87,15 @@ class ReaderChapterSheet @JvmOverloads constructor(context: Context, attrs: Attr
chapter_recycler.height / 2 - 30.dpToPx
)
chapters_button.alpha = 1f
filter_button.alpha = 0f
webview_button.alpha = 0f
}
if (state == BottomSheetBehavior.STATE_EXPANDED) {
chapter_recycler.alpha = 1f
chapters_button.alpha = 0f
filter_button.alpha = 1f
webview_button.alpha = 1f
if (activity.sheetManageNavColor) activity.window.navigationBarColor = primary
}
filter_button.visibleIf(state != BottomSheetBehavior.STATE_COLLAPSED)
webview_button.visibleIf(state != BottomSheetBehavior.STATE_COLLAPSED)
chapters_button.visInvisIf(state != BottomSheetBehavior.STATE_EXPANDED)
}
})

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bottom_sheet_rounded_background">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<eu.kanade.tachiyomi.ui.manga.chapter.ChapterFilterLayout
android:id="@+id/chapter_filter_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</androidx.core.widget.NestedScrollView>
</FrameLayout>

View File

@ -28,7 +28,7 @@
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/filter_button"
android:id="@+id/webview_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
@ -52,8 +52,8 @@
android:textAlignment="textEnd"
android:textColor="?android:textColorHint"
app:layout_constraintBaseline_toBaselineOf="@id/chapters_title"
app:layout_constraintBottom_toBottomOf="@id/filter_button"
app:layout_constraintEnd_toStartOf="@id/filter_button"
app:layout_constraintBottom_toBottomOf="@id/webview_button"
app:layout_constraintEnd_toStartOf="@id/webview_button"
app:layout_constraintStart_toEndOf="@+id/chapters_title"
app:layout_constraintTop_toTopOf="@id/filter_button" />
app:layout_constraintTop_toTopOf="@id/webview_button" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -46,19 +46,19 @@
app:srcCompat="@drawable/ic_format_list_numbered_24dp" />
<ImageButton
android:id="@+id/filter_button"
android:id="@+id/webview_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackgroundBorderless"
android:contentDescription="@string/next"
android:contentDescription="@string/open_in_webview"
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
android:tint="?actionBarTintColor"
android:tooltipText="@string/filter"
android:tooltipText="@string/open_in_webview"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:alpha="0.0"
app:srcCompat="@drawable/ic_filter_list_24dp" />
app:srcCompat="@drawable/ic_open_in_webview_24dp" />
<eu.kanade.tachiyomi.ui.reader.ReaderSeekBar
android:id="@+id/page_seekbar"