Recreate MainActivity on language change.

This commit is contained in:
Rashad Sookram 2022-03-24 14:04:11 -04:00 committed by Greyson Parrelli
parent 783a615c07
commit 32d1cc7d54

View file

@ -4,6 +4,7 @@ import android.os.Bundle
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.ActionMenuView import androidx.appcompat.widget.ActionMenuView
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
@ -14,8 +15,8 @@ import androidx.fragment.app.viewModels
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.NavDestination import androidx.navigation.NavDestination
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import org.signal.core.util.logging.Log import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.MainActivity
import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.badges.BadgeImageView
import org.thoughtcrime.securesms.components.SearchToolbar import org.thoughtcrime.securesms.components.SearchToolbar
@ -60,6 +61,12 @@ class MainActivityListHostFragment : Fragment(R.layout.main_activity_list_host_f
private val destinationChangedListener = DestinationChangedListener() private val destinationChangedListener = DestinationChangedListener()
private val openSettings = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == MainActivity.RESULT_CONFIG_CHANGED) {
requireActivity().recreate()
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_toolbar = view.findViewById(R.id.toolbar) _toolbar = view.findViewById(R.id.toolbar)
_basicToolbar = Stub(view.findViewById(R.id.toolbar_basic)) _basicToolbar = Stub(view.findViewById(R.id.toolbar_basic))
@ -192,7 +199,7 @@ class MainActivityListHostFragment : Fragment(R.layout.main_activity_list_host_f
private fun initializeSettingsTouchTarget() { private fun initializeSettingsTouchTarget() {
val touchArea = requireView().findViewById<View>(R.id.toolbar_settings_touch_area) val touchArea = requireView().findViewById<View>(R.id.toolbar_settings_touch_area)
touchArea.setOnClickListener { startActivity(AppSettingsActivity.home(requireContext())) } touchArea.setOnClickListener { openSettings.launch(AppSettingsActivity.home(requireContext())) }
} }
private fun handleNotificationProfile() { private fun handleNotificationProfile() {