Disable tab swiping by preference in profile and search (#2889)
The "Enable swipe gesture to switch between tabs" preference was ignored on the tabs on a profile page ("Posts", "With Replies", "Pinned", "Media"), and search ("Posts", "Accounts", "Hashtags"). Fix this. While I'm here, replace a string for the preference name in MainActivity.kt with a constant. Fixes https://github.com/tuskyapp/Tusky/issues/2874.
This commit is contained in:
parent
134672ef4a
commit
330401c7d0
@ -612,7 +612,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
|||||||
val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin)
|
val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin)
|
||||||
binding.viewPager.setPageTransformer(MarginPageTransformer(pageMargin))
|
binding.viewPager.setPageTransformer(MarginPageTransformer(pageMargin))
|
||||||
|
|
||||||
val enableSwipeForTabs = preferences.getBoolean("enableSwipeForTabs", true)
|
val enableSwipeForTabs = preferences.getBoolean(PrefKeys.ENABLE_SWIPE_FOR_TABS, true)
|
||||||
binding.viewPager.isUserInputEnabled = enableSwipeForTabs
|
binding.viewPager.isUserInputEnabled = enableSwipeForTabs
|
||||||
|
|
||||||
onTabSelectedListener?.let {
|
onTabSelectedListener?.let {
|
||||||
|
@ -103,6 +103,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||||||
|
|
||||||
private lateinit var accountFieldAdapter: AccountFieldAdapter
|
private lateinit var accountFieldAdapter: AccountFieldAdapter
|
||||||
|
|
||||||
|
private val preferences by lazy { PreferenceManager.getDefaultSharedPreferences(this) }
|
||||||
|
|
||||||
private var followState: FollowState = FollowState.NOT_FOLLOWING
|
private var followState: FollowState = FollowState.NOT_FOLLOWING
|
||||||
private var blocking: Boolean = false
|
private var blocking: Boolean = false
|
||||||
private var muting: Boolean = false
|
private var muting: Boolean = false
|
||||||
@ -243,6 +245,9 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||||||
val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin)
|
val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin)
|
||||||
binding.accountFragmentViewPager.setPageTransformer(MarginPageTransformer(pageMargin))
|
binding.accountFragmentViewPager.setPageTransformer(MarginPageTransformer(pageMargin))
|
||||||
|
|
||||||
|
val enableSwipeForTabs = preferences.getBoolean(PrefKeys.ENABLE_SWIPE_FOR_TABS, true)
|
||||||
|
binding.accountFragmentViewPager.isUserInputEnabled = enableSwipeForTabs
|
||||||
|
|
||||||
binding.accountTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
binding.accountTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
||||||
override fun onTabReselected(tab: TabLayout.Tab?) {
|
override fun onTabReselected(tab: TabLayout.Tab?) {
|
||||||
tab?.position?.let { position ->
|
tab?.position?.let { position ->
|
||||||
|
@ -22,12 +22,14 @@ import android.os.Bundle
|
|||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.keylesspalace.tusky.BottomSheetActivity
|
import com.keylesspalace.tusky.BottomSheetActivity
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
import com.keylesspalace.tusky.components.search.adapter.SearchPagerAdapter
|
import com.keylesspalace.tusky.components.search.adapter.SearchPagerAdapter
|
||||||
import com.keylesspalace.tusky.databinding.ActivitySearchBinding
|
import com.keylesspalace.tusky.databinding.ActivitySearchBinding
|
||||||
import com.keylesspalace.tusky.di.ViewModelFactory
|
import com.keylesspalace.tusky.di.ViewModelFactory
|
||||||
|
import com.keylesspalace.tusky.settings.PrefKeys
|
||||||
import com.keylesspalace.tusky.util.viewBinding
|
import com.keylesspalace.tusky.util.viewBinding
|
||||||
import dagger.android.DispatchingAndroidInjector
|
import dagger.android.DispatchingAndroidInjector
|
||||||
import dagger.android.HasAndroidInjector
|
import dagger.android.HasAndroidInjector
|
||||||
@ -44,6 +46,8 @@ class SearchActivity : BottomSheetActivity(), HasAndroidInjector {
|
|||||||
|
|
||||||
private val binding by viewBinding(ActivitySearchBinding::inflate)
|
private val binding by viewBinding(ActivitySearchBinding::inflate)
|
||||||
|
|
||||||
|
private val preferences by lazy { PreferenceManager.getDefaultSharedPreferences(this) }
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
@ -60,6 +64,9 @@ class SearchActivity : BottomSheetActivity(), HasAndroidInjector {
|
|||||||
private fun setupPages() {
|
private fun setupPages() {
|
||||||
binding.pages.adapter = SearchPagerAdapter(this)
|
binding.pages.adapter = SearchPagerAdapter(this)
|
||||||
|
|
||||||
|
val enableSwipeForTabs = preferences.getBoolean(PrefKeys.ENABLE_SWIPE_FOR_TABS, true)
|
||||||
|
binding.pages.isUserInputEnabled = enableSwipeForTabs
|
||||||
|
|
||||||
TabLayoutMediator(binding.tabs, binding.pages) {
|
TabLayoutMediator(binding.tabs, binding.pages) {
|
||||||
tab, position ->
|
tab, position ->
|
||||||
tab.text = getPageTitle(position)
|
tab.text = getPageTitle(position)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user