You've already forked Magisk
mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-09-06 06:36:58 +00:00
Find suitable anchor view for SnackBar
This will fix the SnackBar position if BottomNav or FAB is visible. Fix #5163 Fix #5135
This commit is contained in:
@@ -11,6 +11,7 @@ import android.view.View
|
||||
import android.view.WindowManager
|
||||
import androidx.core.content.pm.ShortcutManagerCompat
|
||||
import androidx.core.view.forEach
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.interpolator.view.animation.FastOutLinearInInterpolator
|
||||
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
|
||||
import androidx.navigation.NavDirections
|
||||
@@ -36,6 +37,15 @@ class MainActivity : BaseMainActivity<MainViewModel, ActivityMainMd2Binding>() {
|
||||
override val layoutRes = R.layout.activity_main_md2
|
||||
override val viewModel by viewModel<MainViewModel>()
|
||||
override val navHostId: Int = R.id.main_nav_host
|
||||
override val snackbarAnchorView: View?
|
||||
get() {
|
||||
val fragmentAnchor = currentFragment?.snackbarAnchorView
|
||||
return when {
|
||||
fragmentAnchor?.isVisible == true -> fragmentAnchor
|
||||
binding.mainNavigation.isVisible -> return binding.mainNavigation
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
private var isRootFragment = true
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ class LogFragment : BaseUIFragment<LogViewModel, FragmentLogMd2Binding>() {
|
||||
|
||||
override val layoutRes = R.layout.fragment_log_md2
|
||||
override val viewModel by viewModel<LogViewModel>()
|
||||
override val snackbarAnchorView get() = binding.logFilterToggle
|
||||
|
||||
private var actionSave: MenuItem? = null
|
||||
private var isMagiskLogVisible
|
||||
|
||||
@@ -22,6 +22,14 @@ class ModuleFragment : BaseUIFragment<ModuleViewModel, FragmentModuleMd2Binding>
|
||||
|
||||
override val layoutRes = R.layout.fragment_module_md2
|
||||
override val viewModel by viewModel<ModuleViewModel>()
|
||||
override val snackbarAnchorView: View
|
||||
get() {
|
||||
return if (isFilterVisible) {
|
||||
binding.moduleFilterInclude.moduleFilterTitleSearch
|
||||
} else {
|
||||
binding.moduleFilterToggle
|
||||
}
|
||||
}
|
||||
|
||||
private val listeners = hashSetOf<EndlessRecyclerScrollListener>()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user