Browse Source

Apply bottom sheet dialog with restriction consistently

arkon 4 years ago
parent
commit
7eef4f7fbf

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt

@@ -5,17 +5,17 @@ import android.content.Context
 import android.util.AttributeSet
 import android.view.LayoutInflater
 import android.view.ViewGroup
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import eu.davidea.flexibleadapter.FlexibleAdapter
 import eu.davidea.flexibleadapter.items.IFlexible
 import eu.kanade.tachiyomi.databinding.SourceFilterSheetBinding
 import eu.kanade.tachiyomi.widget.SimpleNavigationView
+import eu.kanade.tachiyomi.widget.sheet.BaseBottomSheetDialog
 
 class SourceFilterSheet(
     activity: Activity,
     onFilterClicked: () -> Unit,
     onResetClicked: () -> Unit
-) : BottomSheetDialog(activity) {
+) : BaseBottomSheetDialog(activity) {
 
     private var filterNavView: FilterNavigationView
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt

@@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager
 import eu.kanade.tachiyomi.data.track.TrackService
 import eu.kanade.tachiyomi.widget.ExtendedNavigationView
 import eu.kanade.tachiyomi.widget.ExtendedNavigationView.Item.TriStateGroup.State
-import eu.kanade.tachiyomi.widget.TabbedBottomSheetDialog
+import eu.kanade.tachiyomi.widget.sheet.TabbedBottomSheetDialog
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import uy.kohesive.injekt.injectLazy

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt

@@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.ui.manga.MangaPresenter
 import eu.kanade.tachiyomi.util.view.popupMenu
 import eu.kanade.tachiyomi.widget.ExtendedNavigationView
 import eu.kanade.tachiyomi.widget.ExtendedNavigationView.Item.TriStateGroup.State
-import eu.kanade.tachiyomi.widget.TabbedBottomSheetDialog
+import eu.kanade.tachiyomi.widget.sheet.TabbedBottomSheetDialog
 
 class ChaptersSettingsSheet(
     private val router: Router,

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderColorFilterSheet.kt

@@ -9,11 +9,11 @@ import androidx.core.graphics.green
 import androidx.core.graphics.red
 import androidx.lifecycle.lifecycleScope
 import com.google.android.material.bottomsheet.BottomSheetBehavior
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.databinding.ReaderColorFilterSheetBinding
 import eu.kanade.tachiyomi.widget.IgnoreFirstSpinnerListener
 import eu.kanade.tachiyomi.widget.SimpleSeekBarListener
+import eu.kanade.tachiyomi.widget.sheet.BaseBottomSheetDialog
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.sample
@@ -22,7 +22,7 @@ import uy.kohesive.injekt.injectLazy
 /**
  * Color filter sheet to toggle custom filter and brightness overlay.
  */
-class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheetDialog(activity) {
+class ReaderColorFilterSheet(private val activity: ReaderActivity) : BaseBottomSheetDialog(activity) {
 
     private val preferences: PreferencesHelper by injectLazy()
 

+ 2 - 12
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt

@@ -1,13 +1,11 @@
 package eu.kanade.tachiyomi.ui.reader
 
-import android.os.Bundle
-import android.view.ViewGroup
 import com.afollestad.materialdialogs.MaterialDialog
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.databinding.ReaderPageSheetBinding
 import eu.kanade.tachiyomi.source.model.Page
 import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
+import eu.kanade.tachiyomi.widget.sheet.BaseBottomSheetDialog
 
 /**
  * Sheet to show when a page is long clicked.
@@ -15,7 +13,7 @@ import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
 class ReaderPageSheet(
     private val activity: ReaderActivity,
     private val page: ReaderPage
-) : BottomSheetDialog(activity) {
+) : BaseBottomSheetDialog(activity) {
 
     private val binding = ReaderPageSheetBinding.inflate(activity.layoutInflater, null, false)
 
@@ -27,14 +25,6 @@ class ReaderPageSheet(
         binding.saveLayout.setOnClickListener { save() }
     }
 
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        val width = context.resources.getDimensionPixelSize(R.dimen.bottom_sheet_width)
-        if (width > 0) {
-            window?.setLayout(width, ViewGroup.LayoutParams.MATCH_PARENT)
-        }
-    }
-
     /**
      * Sets the image of this page as the cover of the manga.
      */

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderSettingsSheet.kt

@@ -6,7 +6,6 @@ import android.widget.Spinner
 import androidx.annotation.ArrayRes
 import androidx.core.view.isVisible
 import androidx.core.widget.NestedScrollView
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import com.tfcporciuncula.flow.Preference
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
@@ -14,12 +13,13 @@ import eu.kanade.tachiyomi.databinding.ReaderSettingsSheetBinding
 import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerViewer
 import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
 import eu.kanade.tachiyomi.widget.IgnoreFirstSpinnerListener
+import eu.kanade.tachiyomi.widget.sheet.BaseBottomSheetDialog
 import uy.kohesive.injekt.injectLazy
 
 /**
  * Sheet to show reader and viewer preferences.
  */
-class ReaderSettingsSheet(private val activity: ReaderActivity) : BottomSheetDialog(activity) {
+class ReaderSettingsSheet(private val activity: ReaderActivity) : BaseBottomSheetDialog(activity) {
 
     private val preferences: PreferencesHelper by injectLazy()
 

+ 18 - 0
app/src/main/java/eu/kanade/tachiyomi/widget/sheet/BaseBottomSheetDialog.kt

@@ -0,0 +1,18 @@
+package eu.kanade.tachiyomi.widget.sheet
+
+import android.content.Context
+import android.os.Bundle
+import android.view.ViewGroup
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import eu.kanade.tachiyomi.R
+
+open class BaseBottomSheetDialog(context: Context) : BottomSheetDialog(context) {
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        val width = context.resources.getDimensionPixelSize(R.dimen.bottom_sheet_width)
+        if (width > 0) {
+            window?.setLayout(width, ViewGroup.LayoutParams.MATCH_PARENT)
+        }
+    }
+}

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/widget/TabbedBottomSheetDialog.kt → app/src/main/java/eu/kanade/tachiyomi/widget/sheet/TabbedBottomSheetDialog.kt

@@ -1,12 +1,12 @@
-package eu.kanade.tachiyomi.widget
+package eu.kanade.tachiyomi.widget.sheet
 
 import android.view.View
 import android.view.ViewGroup
 import com.bluelinelabs.conductor.Router
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import eu.kanade.tachiyomi.databinding.CommonTabbedSheetBinding
+import eu.kanade.tachiyomi.widget.ViewPagerAdapter
 
-abstract class TabbedBottomSheetDialog(private val router: Router) : BottomSheetDialog(router.activity!!) {
+abstract class TabbedBottomSheetDialog(private val router: Router) : BaseBottomSheetDialog(router.activity!!) {
 
     val binding: CommonTabbedSheetBinding = CommonTabbedSheetBinding.inflate(router.activity!!.layoutInflater)