Migrate right drawer to side sheet
This commit is contained in:
1 parent
38294e8cfc
commit
09dd200655
15 files changed
+127
-198
No files matched your search
@@ -33,10 +33,8 @@ import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.customview.widget.Openable
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
@@ -372,30 +370,6 @@ class MainActivity : EhActivity() {
|
||||
Settings.clipboardTextHashCode = hashCode
|
||||
}
|
||||
|
||||
@SuppressLint("RtlHardcoded")
|
||||
fun createDrawerView(scene: Fragment?) {
|
||||
if (scene is BaseScene) {
|
||||
binding.rightDrawer.removeAllViews()
|
||||
val drawerView = scene.createDrawerView(
|
||||
scene.layoutInflater,
|
||||
binding.rightDrawer,
|
||||
null,
|
||||
)
|
||||
if (drawerView != null) {
|
||||
binding.rightDrawer.addView(drawerView)
|
||||
binding.drawView.setDrawerLockMode(
|
||||
DrawerLayout.LOCK_MODE_UNLOCKED,
|
||||
GravityCompat.END,
|
||||
)
|
||||
} else {
|
||||
binding.drawView.setDrawerLockMode(
|
||||
DrawerLayout.LOCK_MODE_LOCKED_CLOSED,
|
||||
GravityCompat.END,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun addAboveSnackView(view: View) {
|
||||
binding.absnacker.addAboveSnackView(view)
|
||||
}
|
||||
@@ -423,12 +397,10 @@ class MainActivity : EhActivity() {
|
||||
}
|
||||
|
||||
fun toggleDrawer(drawerGravity: Int) {
|
||||
binding.drawView.run {
|
||||
if (isDrawerOpen(drawerGravity)) {
|
||||
closeDrawer(drawerGravity)
|
||||
} else {
|
||||
openDrawer(drawerGravity)
|
||||
}
|
||||
if (isDrawerOpen(drawerGravity)) {
|
||||
closeDrawer(drawerGravity)
|
||||
} else {
|
||||
openDrawer(drawerGravity)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,19 +15,20 @@
|
||||
*/
|
||||
package com.hippo.ehviewer.ui.scene
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.res.Resources.Theme
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
import android.util.SparseArray
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.core.view.SoftwareKeyboardControllerCompat
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.setViewTreeLifecycleOwner
|
||||
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
|
||||
import com.google.android.material.sidesheet.SideSheetDialog
|
||||
import com.hippo.ehviewer.ui.MainActivity
|
||||
import com.hippo.ehviewer.util.getSparseParcelableArrayCompat
|
||||
import rikka.core.res.resolveDrawable
|
||||
@@ -35,6 +36,7 @@ import rikka.core.res.resolveDrawable
|
||||
abstract class BaseScene : Fragment() {
|
||||
private var drawerView: View? = null
|
||||
private var drawerViewState: SparseArray<Parcelable>? = null
|
||||
private var sideSheetDialog: SideSheetDialog? = null
|
||||
fun addAboveSnackView(view: View) {
|
||||
val activity = activity
|
||||
if (activity is MainActivity) {
|
||||
@@ -91,6 +93,9 @@ abstract class BaseScene : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
fun openSideSheet() = sideSheetDialog!!.show()
|
||||
fun closeSideSheet() = sideSheetDialog!!.hide()
|
||||
|
||||
fun showTip(message: CharSequence?, length: Int) {
|
||||
val activity = activity
|
||||
if (activity is MainActivity) {
|
||||
@@ -107,34 +112,18 @@ abstract class BaseScene : Fragment() {
|
||||
|
||||
open val showLeftDrawer = true
|
||||
|
||||
fun recreateDrawerView() {
|
||||
val activity = mainActivity
|
||||
activity?.createDrawerView(this)
|
||||
}
|
||||
|
||||
fun createDrawerView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View? {
|
||||
drawerView = onCreateDrawerView(inflater, container, savedInstanceState)
|
||||
private fun createDrawerView(savedInstanceState: Bundle?): View? {
|
||||
drawerView = onCreateDrawerView(layoutInflater)
|
||||
if (drawerView != null) {
|
||||
var saved = drawerViewState
|
||||
if (saved == null && savedInstanceState != null) {
|
||||
saved = savedInstanceState.getSparseParcelableArrayCompat(KEY_DRAWER_VIEW_STATE)
|
||||
}
|
||||
if (saved != null) {
|
||||
val saved = drawerViewState ?: savedInstanceState?.getSparseParcelableArrayCompat(KEY_DRAWER_VIEW_STATE)
|
||||
saved?.let {
|
||||
drawerView!!.restoreHierarchyState(saved)
|
||||
}
|
||||
}
|
||||
return drawerView
|
||||
}
|
||||
|
||||
open fun onCreateDrawerView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View? {
|
||||
open fun onCreateDrawerView(inflater: LayoutInflater): View? {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -147,9 +136,11 @@ abstract class BaseScene : Fragment() {
|
||||
drawerView = null
|
||||
}
|
||||
|
||||
open fun onDestroyDrawerView() {}
|
||||
open fun onDestroyDrawerView() {
|
||||
sideSheetDialog?.dismiss()
|
||||
sideSheetDialog = null
|
||||
}
|
||||
|
||||
@SuppressLint("RtlHardcoded")
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
view.background = requireActivity().theme.resolveDrawable(android.R.attr.windowBackground)
|
||||
@@ -161,7 +152,15 @@ abstract class BaseScene : Fragment() {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
|
||||
}
|
||||
hideSoftInput()
|
||||
mainActivity!!.createDrawerView(this)
|
||||
createDrawerView(savedInstanceState)?.let {
|
||||
sideSheetDialog = SideSheetDialog(requireContext()).apply {
|
||||
window?.decorView?.apply {
|
||||
setViewTreeLifecycleOwner(viewLifecycleOwner)
|
||||
setViewTreeSavedStateRegistryOwner(this@BaseScene)
|
||||
}
|
||||
setContentView(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
|
||||
@@ -22,7 +22,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.core.view.size
|
||||
import com.hippo.ehviewer.R
|
||||
import com.hippo.ehviewer.databinding.SceneToolbarBinding
|
||||
|
||||
abstract class BaseToolbarScene : BaseScene(), ToolBarScene {
|
||||
@@ -56,20 +56,17 @@ abstract class BaseToolbarScene : BaseScene(), ToolBarScene {
|
||||
}
|
||||
}
|
||||
|
||||
fun showMenu(menuResId: Int) {
|
||||
if (binding.toolbar.menu?.size != 0) return
|
||||
binding.toolbar.apply {
|
||||
inflateMenu(menuResId)
|
||||
setOnMenuItemClickListener { item: MenuItem -> onMenuItemClick(item) }
|
||||
}
|
||||
}
|
||||
|
||||
override fun getMenuResId(): Int {
|
||||
return 0
|
||||
}
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem): Boolean {
|
||||
return false
|
||||
return if (item.itemId == R.id.action_open_side_sheet) {
|
||||
openSideSheet()
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
override fun onNavigationClick() {
|
||||
|
||||
@@ -90,7 +90,6 @@ import com.hippo.ehviewer.ui.legacy.CheckBoxDialogBuilder
|
||||
import com.hippo.ehviewer.ui.legacy.EditTextDialogBuilder
|
||||
import com.hippo.ehviewer.ui.legacy.FabLayout
|
||||
import com.hippo.ehviewer.ui.legacy.FabLayout.OnClickFabListener
|
||||
import com.hippo.ehviewer.ui.legacy.FastScroller.OnDragHandlerListener
|
||||
import com.hippo.ehviewer.ui.legacy.HandlerDrawable
|
||||
import com.hippo.ehviewer.ui.legacy.STRATEGY_MIN_SIZE
|
||||
import com.hippo.ehviewer.ui.legacy.ViewTransition
|
||||
@@ -117,8 +116,7 @@ import com.hippo.ehviewer.download.DownloadManager as downloadManager
|
||||
class DownloadsScene :
|
||||
BaseToolbarScene(),
|
||||
DownloadInfoListener,
|
||||
OnClickFabListener,
|
||||
OnDragHandlerListener {
|
||||
OnClickFabListener {
|
||||
/*---------------
|
||||
Whole life cycle
|
||||
---------------*/
|
||||
@@ -268,12 +266,10 @@ class DownloadsScene :
|
||||
binding.fabLayout.isExpanded = true
|
||||
// Lock drawer
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}) {
|
||||
binding.fabLayout.isExpanded = false
|
||||
// Unlock drawer
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
}
|
||||
restoreSelection(savedInstanceState)
|
||||
}
|
||||
@@ -347,7 +343,6 @@ class DownloadsScene :
|
||||
val handlerDrawable = HandlerDrawable()
|
||||
handlerDrawable.setColor(theme.resolveColor(com.google.android.material.R.attr.colorPrimary))
|
||||
fastScroller.setHandlerDrawable(handlerDrawable)
|
||||
fastScroller.setOnDragHandlerListener(this@DownloadsScene)
|
||||
fabLayout.setExpanded(expanded = false, animation = false)
|
||||
fabLayout.addOnExpandListener { if (!it && tracker.isInCustomChoice) tracker.clearSelection() }
|
||||
fabLayout.setHidePrimaryFab(true)
|
||||
@@ -420,11 +415,6 @@ class DownloadsScene :
|
||||
return true
|
||||
}
|
||||
|
||||
R.id.action_open_download_labels -> {
|
||||
openDrawer(GravityCompat.END)
|
||||
return true
|
||||
}
|
||||
|
||||
R.id.action_reset_reading_progress -> {
|
||||
BaseDialogBuilder(requireContext())
|
||||
.setMessage(R.string.reset_reading_progress_message)
|
||||
@@ -453,7 +443,7 @@ class DownloadsScene :
|
||||
return true
|
||||
}
|
||||
|
||||
else -> return false
|
||||
else -> return super.onMenuItemClick(item)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -468,12 +458,8 @@ class DownloadsScene :
|
||||
updateTitle()
|
||||
}
|
||||
|
||||
override fun onCreateDrawerView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View {
|
||||
val drawerBinding = DrawerListRvBinding.inflate(inflater, container, false)
|
||||
override fun onCreateDrawerView(inflater: LayoutInflater): View {
|
||||
val drawerBinding = DrawerListRvBinding.inflate(inflater)
|
||||
drawerBinding.toolbar.setTitle(R.string.download_labels)
|
||||
drawerBinding.toolbar.inflateMenu(R.menu.drawer_download)
|
||||
drawerBinding.toolbar.setOnMenuItemClickListener { item: MenuItem ->
|
||||
@@ -525,18 +511,6 @@ class DownloadsScene :
|
||||
return drawerBinding.root
|
||||
}
|
||||
|
||||
override fun onStartDragHandler() {
|
||||
// Lock right drawer
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}
|
||||
|
||||
override fun onEndDragHandler() {
|
||||
// Restore right drawer
|
||||
if (!tracker.isInCustomChoice) {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
}
|
||||
}
|
||||
|
||||
fun onItemClick(position: Int): Boolean {
|
||||
val context = context ?: return false
|
||||
val list = mList ?: return false
|
||||
@@ -695,7 +669,7 @@ class DownloadsScene :
|
||||
mLabel = label1
|
||||
updateForLabel()
|
||||
updateView()
|
||||
closeDrawer(GravityCompat.END)
|
||||
closeSideSheet()
|
||||
}
|
||||
}
|
||||
holder.binding.edit.setOnClickListener {
|
||||
|
||||
@@ -161,13 +161,11 @@ class FavoritesScene : SearchBarScene() {
|
||||
}
|
||||
|
||||
private fun onItemClick(position: Int) {
|
||||
if (isDrawerOpen(GravityCompat.END)) {
|
||||
// Skip if in search mode
|
||||
if (!tracker.isInCustomChoice) {
|
||||
switchFav(position - 2)
|
||||
updateJumpFab()
|
||||
closeDrawer(GravityCompat.END)
|
||||
}
|
||||
// Skip if in search mode
|
||||
if (!tracker.isInCustomChoice) {
|
||||
switchFav(position - 2)
|
||||
updateJumpFab()
|
||||
closeSideSheet()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +198,8 @@ class FavoritesScene : SearchBarScene() {
|
||||
Settings.recentFavCat = urlBuilder.favCat
|
||||
}
|
||||
|
||||
override fun getMenuResId() = R.menu.scene_favorites
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
mAdapter?.let { tracker.saveSelection(outState) }
|
||||
@@ -294,14 +294,8 @@ class FavoritesScene : SearchBarScene() {
|
||||
addAboveSnackView(this)
|
||||
}
|
||||
binding.fastScroller.setOnDragHandlerListener(object : OnDragHandlerListener {
|
||||
override fun onStartDragHandler() {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}
|
||||
|
||||
override fun onStartDragHandler() {}
|
||||
override fun onEndDragHandler() {
|
||||
if (!tracker.isInCustomChoice) {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
}
|
||||
showSearchBar()
|
||||
}
|
||||
})
|
||||
@@ -364,7 +358,6 @@ class FavoritesScene : SearchBarScene() {
|
||||
binding.refreshLayout.isEnabled = false
|
||||
// Lock drawer
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}) {
|
||||
showNormalFab()
|
||||
binding.fabLayout.setAutoCancel(true)
|
||||
@@ -372,7 +365,6 @@ class FavoritesScene : SearchBarScene() {
|
||||
binding.refreshLayout.isEnabled = true
|
||||
// Unlock drawer
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
}
|
||||
restoreSelection(savedInstanceState)
|
||||
}
|
||||
@@ -403,11 +395,7 @@ class FavoritesScene : SearchBarScene() {
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onCreateDrawerView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
) = ComposeView(inflater.context).apply {
|
||||
override fun onCreateDrawerView(inflater: LayoutInflater) = ComposeView(inflater.context).apply {
|
||||
setMD3Content {
|
||||
val localFavCount by vm.localFavCount.collectAsState(0)
|
||||
ElevatedCard {
|
||||
|
||||
@@ -269,7 +269,6 @@ class GalleryListScene : SearchBarScene() {
|
||||
val isTopList = mode == MODE_TOPLIST
|
||||
if (isTopList != mIsTopList) {
|
||||
mIsTopList = isTopList
|
||||
recreateDrawerView()
|
||||
}
|
||||
|
||||
// Update fab visibility
|
||||
@@ -332,11 +331,8 @@ class GalleryListScene : SearchBarScene() {
|
||||
)
|
||||
mViewTransition = BringOutTransition(binding.contentLayout, binding.searchLayout)
|
||||
binding.fastScroller.setOnDragHandlerListener(object : OnDragHandlerListener {
|
||||
override fun onStartDragHandler() {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}
|
||||
override fun onStartDragHandler() {}
|
||||
override fun onEndDragHandler() {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
showSearchBar()
|
||||
}
|
||||
})
|
||||
@@ -467,11 +463,9 @@ class GalleryListScene : SearchBarScene() {
|
||||
binding.fabLayout.addOnExpandListener {
|
||||
if (it) {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
actionFabDrawable.setDelete(ANIMATE_TIME)
|
||||
} else {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
actionFabDrawable.setAdd(ANIMATE_TIME)
|
||||
}
|
||||
}
|
||||
@@ -592,12 +586,8 @@ class GalleryListScene : SearchBarScene() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateDrawerView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View {
|
||||
val drawerBinding = DrawerListRvBinding.inflate(inflater, container, false)
|
||||
override fun onCreateDrawerView(inflater: LayoutInflater): View {
|
||||
val drawerBinding = DrawerListRvBinding.inflate(inflater)
|
||||
drawerBinding.recyclerViewDrawer.layoutManager = LinearLayoutManager(context)
|
||||
val qsDrawerAdapter = QsDrawerAdapter(inflater)
|
||||
qsDrawerAdapter.setHasStableIds(true)
|
||||
@@ -848,12 +838,16 @@ class GalleryListScene : SearchBarScene() {
|
||||
}
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem): Boolean {
|
||||
if (mState == State.NORMAL) {
|
||||
setState(State.SEARCH)
|
||||
return if (item.itemId == R.id.action_search_more) {
|
||||
if (mState == State.NORMAL) {
|
||||
setState(State.SEARCH)
|
||||
} else {
|
||||
setState(State.NORMAL)
|
||||
}
|
||||
true
|
||||
} else {
|
||||
setState(State.NORMAL)
|
||||
super.onMenuItemClick(item)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
private fun onApplySearch(query: String?) {
|
||||
@@ -886,10 +880,8 @@ class GalleryListScene : SearchBarScene() {
|
||||
stateBackPressedCallback.isEnabled = newState != State.NORMAL
|
||||
if (newState == State.NORMAL || newState == State.SIMPLE_SEARCH) {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
|
||||
} else {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -906,7 +898,7 @@ class GalleryListScene : SearchBarScene() {
|
||||
onUpdateUrlBuilder()
|
||||
mAdapter?.refresh()
|
||||
setState(State.NORMAL)
|
||||
closeDrawer(GravityCompat.END)
|
||||
closeSideSheet()
|
||||
}
|
||||
} else {
|
||||
val keywords = intArrayOf(11, 12, 13, 15)
|
||||
@@ -915,7 +907,7 @@ class GalleryListScene : SearchBarScene() {
|
||||
onUpdateUrlBuilder()
|
||||
mAdapter?.refresh()
|
||||
setState(State.NORMAL)
|
||||
closeDrawer(GravityCompat.END)
|
||||
closeSideSheet()
|
||||
}
|
||||
}
|
||||
return holder
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.hippo.ehviewer.ui.scene
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
@@ -131,24 +130,16 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
|
||||
}
|
||||
|
||||
private var privLockModeStart: Int? = null
|
||||
private var privLockModeEnd: Int? = null
|
||||
|
||||
@CallSuper
|
||||
open fun onSearchViewExpanded() {
|
||||
privLockModeStart = getDrawerLockMode(GravityCompat.START)
|
||||
privLockModeEnd = getDrawerLockMode(GravityCompat.END)
|
||||
privLockModeStart?.let {
|
||||
setDrawerLockMode(
|
||||
DrawerLayout.LOCK_MODE_LOCKED_CLOSED,
|
||||
GravityCompat.START,
|
||||
)
|
||||
}
|
||||
privLockModeEnd?.let {
|
||||
setDrawerLockMode(
|
||||
DrawerLayout.LOCK_MODE_LOCKED_CLOSED,
|
||||
GravityCompat.END,
|
||||
)
|
||||
}
|
||||
updateSuggestions()
|
||||
}
|
||||
|
||||
@@ -157,8 +148,6 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
|
||||
binding.toolbar.setText(binding.searchview.text)
|
||||
privLockModeStart?.let { setDrawerLockMode(it, GravityCompat.START) }
|
||||
privLockModeStart = null
|
||||
privLockModeEnd?.let { setDrawerLockMode(it, GravityCompat.END) }
|
||||
privLockModeEnd = null
|
||||
}
|
||||
|
||||
fun setSearchBarHint(hint: String?) {
|
||||
@@ -175,7 +164,7 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
|
||||
}
|
||||
|
||||
override fun onNavigationClick() {
|
||||
toggleDrawer(Gravity.START)
|
||||
toggleDrawer(GravityCompat.START)
|
||||
}
|
||||
|
||||
override fun getMenuResId(): Int {
|
||||
@@ -183,7 +172,12 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
|
||||
}
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem): Boolean {
|
||||
return false
|
||||
return if (item.itemId == R.id.action_open_side_sheet) {
|
||||
openSideSheet()
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
override fun setLiftOnScrollTargetView(view: View?) {
|
||||
|
||||
Reference in new issue
Block a user