Initial adoption of bottom reader menus from TachiyomiSY
Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com> Co-authored-by: CrepeTF <CrepeTF@users.noreply.github.com> (cherry picked from commit 89837e4cedca4fa0c7518c32cd13142ec85b5f97) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt # app/src/main/res/layout/reader_activity.xml # app/src/main/res/menu/reader.xml
This commit is contained in:
parent
e38d1dfdc4
commit
9be7c5e6e1
@ -310,18 +310,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
presenter.bookmarkCurrentChapter(false)
|
presenter.bookmarkCurrentChapter(false)
|
||||||
invalidateOptionsMenu()
|
invalidateOptionsMenu()
|
||||||
}
|
}
|
||||||
R.id.action_settings -> ReaderSettingsSheet(this).show()
|
|
||||||
R.id.action_custom_filter -> {
|
|
||||||
val sheet = ReaderColorFilterSheet(this)
|
|
||||||
// Remove dimmed backdrop so changes can be previewed
|
|
||||||
.apply { window?.setDimAmount(0f) }
|
|
||||||
|
|
||||||
// Hide toolbars while sheet is open for better preview
|
|
||||||
sheet.setOnDismissListener { setMenuVisibility(true) }
|
|
||||||
setMenuVisibility(false)
|
|
||||||
|
|
||||||
sheet.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item)
|
return super.onOptionsItemSelected(item)
|
||||||
}*/
|
}*/
|
||||||
@ -410,24 +398,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Extra menu buttons
|
// Extra menu buttons
|
||||||
binding.filterButton.clicks()
|
|
||||||
.onEach {
|
|
||||||
ReaderColorFilterSheet(this).show()
|
|
||||||
}
|
|
||||||
.launchIn(lifecycleScope)
|
|
||||||
|
|
||||||
binding.actionSettings.clicks()
|
|
||||||
.onEach {
|
|
||||||
ReaderSettingsSheet(this).show()
|
|
||||||
}
|
|
||||||
.launchIn(lifecycleScope)
|
|
||||||
|
|
||||||
binding.webviewButton.clicks()
|
|
||||||
.onEach {
|
|
||||||
openMangaInBrowser()
|
|
||||||
}
|
|
||||||
.launchIn(lifecycleScope)
|
|
||||||
// Extra menu buttons
|
|
||||||
|
|
||||||
binding.leftChapter.setOnClickListener {
|
binding.leftChapter.setOnClickListener {
|
||||||
if (viewer != null) {
|
if (viewer != null) {
|
||||||
@ -448,7 +418,29 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.actionCustomFilter.setOnClickListener {
|
||||||
|
val sheet = ReaderColorFilterSheet(this)
|
||||||
|
// Remove dimmed backdrop so changes can be previewed
|
||||||
|
.apply { window?.setDimAmount(0f) }
|
||||||
|
|
||||||
|
// Hide toolbars while sheet is open for better preview
|
||||||
|
sheet.setOnDismissListener { setMenuVisibility(true) }
|
||||||
|
setMenuVisibility(false)
|
||||||
|
|
||||||
|
sheet.show()
|
||||||
|
}
|
||||||
|
binding.actionSettings.setOnClickListener {
|
||||||
|
ReaderSettingsSheet(this).show()
|
||||||
|
}
|
||||||
|
|
||||||
// --> EH
|
// --> EH
|
||||||
|
binding.actionWebView.setOnClickListener {
|
||||||
|
openMangaInBrowser()
|
||||||
|
}
|
||||||
|
binding.actionChapterList.setOnClickListener {
|
||||||
|
chapterBottomSheet.show()
|
||||||
|
}
|
||||||
|
|
||||||
binding.expandEhButton.clicks()
|
binding.expandEhButton.clicks()
|
||||||
.onEach {
|
.onEach {
|
||||||
ehUtilsVisible = !ehUtilsVisible
|
ehUtilsVisible = !ehUtilsVisible
|
||||||
@ -597,13 +589,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
}
|
}
|
||||||
.launchIn(lifecycleScope)
|
.launchIn(lifecycleScope)
|
||||||
|
|
||||||
chapterBottomSheet = ReaderChapterSheet(this)
|
|
||||||
binding.chaptersButton.clicks()
|
|
||||||
.onEach {
|
|
||||||
chapterBottomSheet.show()
|
|
||||||
}
|
|
||||||
.launchIn(lifecycleScope)
|
|
||||||
|
|
||||||
autoScrollFlow
|
autoScrollFlow
|
||||||
.onEach {
|
.onEach {
|
||||||
viewer.let { v ->
|
viewer.let { v ->
|
||||||
@ -612,6 +597,8 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.launchIn(lifecycleScope)
|
.launchIn(lifecycleScope)
|
||||||
|
|
||||||
|
chapterBottomSheet = ReaderChapterSheet(this)
|
||||||
// <-- EH
|
// <-- EH
|
||||||
|
|
||||||
// Set initial visibility
|
// Set initial visibility
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24"
|
|
||||||
android:viewportHeight="24">
|
|
||||||
<path
|
|
||||||
android:fillColor="@android:color/black"
|
|
||||||
android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z" />
|
|
||||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24"
|
|
||||||
android:viewportHeight="24">
|
|
||||||
<path
|
|
||||||
android:fillColor="@android:color/black"
|
|
||||||
android:pathData="M6,6h2v12L6,18zM9.5,12l8.5,6L18,6z" />
|
|
||||||
</vector>
|
|
6
app/src/main/res/drawable/reader_seekbar_background.xml
Normal file
6
app/src/main/res/drawable/reader_seekbar_background.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<corners android:radius="15dp" />
|
||||||
|
<solid android:color="?attr/colorPrimary" />
|
||||||
|
</shape>
|
@ -156,52 +156,54 @@
|
|||||||
android:id="@+id/reader_menu_bottom"
|
android:id="@+id/reader_menu_bottom"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:layout_gravity="bottom"
|
||||||
android:layout_gravity="bottom">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/reader_nav"
|
android:id="@+id/reader_nav"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="5dp"
|
|
||||||
android:layout_marginEnd="5dp"
|
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal">
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/left_chapter"
|
android:id="@+id/left_chapter"
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:layout_marginStart="50dp"
|
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="@drawable/chapter_nav"
|
android:layout_marginStart="50dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:background="@drawable/reader_seekbar_background"
|
||||||
android:contentDescription="@string/action_previous_chapter"
|
android:contentDescription="@string/action_previous_chapter"
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
app:srcCompat="@drawable/ic_arrow_back_24dp"
|
app:srcCompat="@drawable/ic_arrow_back_24dp"
|
||||||
android:tint="?attr/colorOnPrimary" />
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/reader_seekbar"
|
android:id="@+id/reader_seekbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/reader_seekbar_background"
|
||||||
android:paddingStart="10dp"
|
android:paddingStart="10dp"
|
||||||
android:paddingEnd="10dp"
|
android:paddingEnd="10dp">
|
||||||
android:background="@drawable/chapter_nav">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/left_page_text"
|
android:id="@+id/left_page_text"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="15sp"
|
|
||||||
android:textColor="?attr/colorOnPrimary"
|
android:textColor="?attr/colorOnPrimary"
|
||||||
|
android:textSize="15sp"
|
||||||
tools:text="1" />
|
tools:text="1" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Wonky way of setting height due to issues with horizontally centering the thumb in Android 5.
|
||||||
|
See https://stackoverflow.com/questions/15701767/android-thumb-is-not-centered-in-seekbar
|
||||||
|
-->
|
||||||
<eu.kanade.tachiyomi.ui.reader.ReaderSeekBar
|
<eu.kanade.tachiyomi.ui.reader.ReaderSeekBar
|
||||||
android:id="@+id/page_seekbar"
|
android:id="@+id/page_seekbar"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@ -215,74 +217,72 @@
|
|||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="15sp"
|
|
||||||
android:textColor="?attr/colorOnPrimary"
|
android:textColor="?attr/colorOnPrimary"
|
||||||
|
android:textSize="15sp"
|
||||||
tools:text="15" />
|
tools:text="15" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- android:background="?selectableItemBackgroundBorderless"-->
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/right_chapter"
|
android:id="@+id/right_chapter"
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginEnd="50dp"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="@drawable/chapter_nav"
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="50dp"
|
||||||
|
android:background="@drawable/reader_seekbar_background"
|
||||||
android:contentDescription="@string/action_next_chapter"
|
android:contentDescription="@string/action_next_chapter"
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
app:srcCompat="@drawable/ic_arrow_forward_24dp"
|
app:srcCompat="@drawable/ic_arrow_forward_24dp"
|
||||||
android:tint="?attr/colorOnPrimary" />
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="70dp"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:paddingStart="16dp"
|
android:background="?attr/colorPrimary">
|
||||||
android:paddingEnd="16dp"
|
|
||||||
android:background="@drawable/reader_menu_bottom"
|
|
||||||
android:clickable="true">
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/chapters_button"
|
android:id="@+id/action_chapter_list"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
|
||||||
android:contentDescription="@string/action_next_chapter"
|
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
|
||||||
android:tint="?attr/colorOnPrimary"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/filter_button"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:srcCompat="@drawable/ic_format_list_numbered_24dp" />
|
|
||||||
|
|
||||||
<ImageButton
|
|
||||||
android:id="@+id/filter_button"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
android:background="?selectableItemBackgroundBorderless"
|
||||||
android:contentDescription="@string/custom_filter"
|
android:contentDescription="@string/custom_filter"
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
android:tint="?attr/colorOnPrimary"
|
app:layout_constraintEnd_toStartOf="@+id/action_custom_filter"
|
||||||
app:layout_constraintEnd_toStartOf="@id/webview_button"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/chapters_button"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_brightness_4_24dp"/>
|
app:srcCompat="@drawable/ic_format_list_numbered_24dp"
|
||||||
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/webview_button"
|
android:id="@+id/action_custom_filter"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
android:background="?selectableItemBackgroundBorderless"
|
||||||
android:contentDescription="@string/action_web_view"
|
android:contentDescription="@string/custom_filter"
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
android:tint="?attr/colorOnPrimary"
|
app:layout_constraintStart_toEndOf="@id/action_chapter_list"
|
||||||
app:layout_constraintEnd_toStartOf="@id/action_settings"
|
app:layout_constraintEnd_toStartOf="@id/action_web_view"
|
||||||
app:layout_constraintStart_toEndOf="@id/filter_button"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_public_24dp"/>
|
app:srcCompat="@drawable/ic_brightness_4_24dp"
|
||||||
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/action_web_view"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?selectableItemBackgroundBorderless"
|
||||||
|
android:contentDescription="@string/custom_filter"
|
||||||
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/action_custom_filter"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/action_settings"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@drawable/ic_public_24dp"
|
||||||
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/action_settings"
|
android:id="@+id/action_settings"
|
||||||
@ -291,11 +291,11 @@
|
|||||||
android:background="?selectableItemBackgroundBorderless"
|
android:background="?selectableItemBackgroundBorderless"
|
||||||
android:contentDescription="@string/action_settings"
|
android:contentDescription="@string/action_settings"
|
||||||
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
|
||||||
android:tint="?attr/colorOnPrimary"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/webview_button"
|
app:layout_constraintStart_toEndOf="@id/action_web_view"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_settings_24dp"/>
|
app:srcCompat="@drawable/ic_settings_24dp"
|
||||||
|
app:tint="?attr/colorOnPrimary" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
@ -14,20 +14,6 @@
|
|||||||
android:icon="@drawable/ic_bookmark_24dp"
|
android:icon="@drawable/ic_bookmark_24dp"
|
||||||
android:title="@string/action_remove_bookmark"
|
android:title="@string/action_remove_bookmark"
|
||||||
app:iconTint="?attr/colorOnPrimary"
|
app:iconTint="?attr/colorOnPrimary"
|
||||||
app:showAsAction="ifRoom" />
|
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/action_custom_filter"
|
|
||||||
android:icon="@drawable/ic_brightness_4_24dp"
|
|
||||||
android:title="@string/custom_filter"
|
|
||||||
app:iconTint="?attr/colorOnPrimary"
|
|
||||||
app:showAsAction="ifRoom" />
|
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/action_settings"
|
|
||||||
android:icon="@drawable/ic_settings_24dp"
|
|
||||||
android:title="@string/label_settings"
|
|
||||||
app:iconTint="?attr/colorOnPrimary"
|
|
||||||
app:showAsAction="ifRoom" />-->
|
app:showAsAction="ifRoom" />-->
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user