Make spaces back navigation a setting, disabled by default

Adds back support for those also in viewPager navigation mode, but still
don't build the stack when swiping.

Change-Id: Ib800eab558875e74b590967e7c5432a909bac60a
This commit is contained in:
SpiritCroc 2022-06-11 10:31:18 +02:00
parent d093b17da0
commit 6fd70c6164
4 changed files with 15 additions and 2 deletions

View file

@ -23,7 +23,6 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import android.widget.Toast
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
@ -828,7 +827,7 @@ class HomeDetailFragment @Inject constructor(
return this
}
override fun onBackPressed(toolbarButton: Boolean) = if (!pagerPagingEnabled && getCurrentSpace() != null) {
override fun onBackPressed(toolbarButton: Boolean) = if (vectorPreferences.spaceBackNavigation() && getCurrentSpace() != null) {
navigateBack()
true
} else {

View file

@ -225,6 +225,7 @@ class VectorPreferences @Inject constructor(
private const val SETTINGS_READ_RECEIPT_FOLLOWS_READ_MARKER = "SETTINGS_READ_RECEIPT_FOLLOWS_READ_MARKER"
private const val SETTINGS_SHOW_OPEN_ANONYMOUS = "SETTINGS_SHOW_OPEN_ANONYMOUS"
private const val SETTINGS_FLOATING_DATE = "SETTINGS_FLOATING_DATE"
private const val SETTINGS_SPACE_BACK_NAVIGATION = "SETTINGS_SPACE_BACK_NAVIGATION"
private const val DID_ASK_TO_ENABLE_SESSION_PUSH = "DID_ASK_TO_ENABLE_SESSION_PUSH"
@ -1168,6 +1169,10 @@ class VectorPreferences @Inject constructor(
return defaultPrefs.getBoolean(SETTINGS_FLOATING_DATE, true)
}
fun spaceBackNavigation(): Boolean {
return defaultPrefs.getBoolean(SETTINGS_SPACE_BACK_NAVIGATION, false)
}
/**
* I likely do more fresh installs of the app than anyone else, so a shortcut to change some of the default settings to
* my preferred values can safe me some time

View file

@ -205,4 +205,7 @@
<string name="dev_tools_menu_display_name_changes">Account events</string>
<string name="dev_tools_menu_redacted">Deleted messages</string>
<string name="settings_space_back_navigation">Spaces back stack</string>
<string name="settings_space_back_navigation_summary">Press back to show the previously selected space</string>
</resources>

View file

@ -135,6 +135,12 @@
android:title="@string/settings_include_space_members_as_rooms"
android:summary="@string/settings_include_space_members_as_rooms_summary" />
<im.vector.app.core.preference.VectorSwitchPreference
android:defaultValue="false"
android:key="SETTINGS_SPACE_BACK_NAVIGATION"
android:title="@string/settings_space_back_navigation"
android:summary="@string/settings_space_back_navigation_summary" />
</im.vector.app.core.preference.VectorPreferenceCategory>
<im.vector.app.core.preference.VectorPreferenceCategory android:title="@string/settings_category_composer">