Remove wrapped fragments from settings.

This commit is contained in:
Michelle Tang
2025-04-29 17:22:42 -04:00
committed by Cody Henthorne
parent 570a475229
commit 3aa4e75ef3
15 changed files with 81 additions and 129 deletions

View File

@@ -1,52 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import android.os.Bundle
import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.annotation.StringRes
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
/**
* Wraps a fragment to give it a Settings style toolbar. This class should be used sparingly, and
* is really only here as stop-gap as we migrate more settings screens to the new UI
*/
abstract class SettingsWrapperFragment : Fragment(R.layout.settings_wrapper_fragment) {
protected lateinit var toolbar: Toolbar
private set
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
toolbar = view.findViewById(R.id.toolbar)
toolbar.setNavigationOnClickListener {
onBackPressed()
}
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, OnBackPressed())
childFragmentManager
.beginTransaction()
.replace(R.id.wrapped_fragment, getFragment())
.commit()
}
abstract fun getFragment(): Fragment
fun setTitle(@StringRes titleId: Int) {
toolbar.setTitle(titleId)
}
private fun onBackPressed() {
if (!childFragmentManager.popBackStackImmediate()) {
requireActivity().onNavigateUp()
}
}
private inner class OnBackPressed : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
onBackPressed()
}
}
}

View File

@@ -1,12 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.preferences.AdvancedPinPreferenceFragment
class WrappedAdvancedPinPreferenceFragment : SettingsWrapperFragment() {
override fun getFragment(): Fragment {
toolbar.setTitle(R.string.preferences__advanced_pin_settings_title)
return AdvancedPinPreferenceFragment()
}
}

View File

@@ -1,12 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.preferences.BackupsPreferenceFragment
class WrappedBackupsPreferenceFragment : SettingsWrapperFragment() {
override fun getFragment(): Fragment {
toolbar.setTitle(R.string.BackupsPreferenceFragment__chat_backups)
return BackupsPreferenceFragment()
}
}

View File

@@ -1,12 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.delete.DeleteAccountFragment
class WrappedDeleteAccountFragment : SettingsWrapperFragment() {
override fun getFragment(): Fragment {
toolbar.setTitle(R.string.preferences__delete_account)
return DeleteAccountFragment()
}
}

View File

@@ -1,12 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.preferences.EditProxyFragment
class WrappedEditProxyFragment : SettingsWrapperFragment() {
override fun getFragment(): Fragment {
toolbar.setTitle(R.string.preferences_use_proxy)
return EditProxyFragment()
}
}

View File

@@ -1,16 +0,0 @@
package org.thoughtcrime.securesms.components.settings.app.wrapped
import androidx.fragment.app.Fragment
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.help.HelpFragment
class WrappedHelpFragment : SettingsWrapperFragment() {
override fun getFragment(): Fragment {
toolbar.title = getString(R.string.preferences__help)
val fragment = HelpFragment()
fragment.arguments = arguments
return fragment
}
}