Эх сурвалжийг харах

android: Use the same transition animation between every fragment in settings

The animation that I used for entering search was prone to weird visual bugs and could appear visually jarring. This just makes things appear more consistent.
t895 2 жил өмнө
parent
commit
4aac971864

+ 0 - 18
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt

@@ -87,17 +87,6 @@ class SettingsFragment : Fragment() {
                     }
                     }
                 }
                 }
             }
             }
-            launch {
-                settingsViewModel.isUsingSearch.collectLatest {
-                    if (it) {
-                        reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true)
-                        exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
-                    } else {
-                        reenterTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
-                        exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
-                    }
-                }
-            }
         }
         }
 
 
         if (args.menuTag == Settings.MenuTag.SECTION_ROOT) {
         if (args.menuTag == Settings.MenuTag.SECTION_ROOT) {
@@ -105,8 +94,6 @@ class SettingsFragment : Fragment() {
             binding.toolbarSettings.setOnMenuItemClickListener {
             binding.toolbarSettings.setOnMenuItemClickListener {
                 when (it.itemId) {
                 when (it.itemId) {
                     R.id.action_search -> {
                     R.id.action_search -> {
-                        reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true)
-                        exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
                         view.findNavController()
                         view.findNavController()
                             .navigate(R.id.action_settingsFragment_to_settingsSearchFragment)
                             .navigate(R.id.action_settingsFragment_to_settingsSearchFragment)
                         true
                         true
@@ -122,11 +109,6 @@ class SettingsFragment : Fragment() {
         setInsets()
         setInsets()
     }
     }
 
 
-    override fun onResume() {
-        super.onResume()
-        settingsViewModel.setIsUsingSearch(false)
-    }
-
     private fun setInsets() {
     private fun setInsets() {
         ViewCompat.setOnApplyWindowInsetsListener(
         ViewCompat.setOnApplyWindowInsetsListener(
             binding.root
             binding.root

+ 4 - 3
src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SettingsSearchFragment.kt

@@ -40,8 +40,10 @@ class SettingsSearchFragment : Fragment() {
 
 
     override fun onCreate(savedInstanceState: Bundle?) {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         super.onCreate(savedInstanceState)
-        enterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
-        returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true)
+        enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
+        returnTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
+        reenterTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
+        exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
     }
     }
 
 
     override fun onCreateView(
     override fun onCreateView(
@@ -55,7 +57,6 @@ class SettingsSearchFragment : Fragment() {
 
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         super.onViewCreated(view, savedInstanceState)
-        settingsViewModel.setIsUsingSearch(true)
 
 
         if (savedInstanceState != null) {
         if (savedInstanceState != null) {
             binding.searchText.setText(savedInstanceState.getString(SEARCH_TEXT))
             binding.searchText.setText(savedInstanceState.getString(SEARCH_TEXT))

+ 0 - 7
src/android/app/src/main/java/org/yuzu/yuzu_emu/model/SettingsViewModel.kt

@@ -29,9 +29,6 @@ class SettingsViewModel : ViewModel() {
     val shouldReloadSettingsList: StateFlow<Boolean> get() = _shouldReloadSettingsList
     val shouldReloadSettingsList: StateFlow<Boolean> get() = _shouldReloadSettingsList
     private val _shouldReloadSettingsList = MutableStateFlow(false)
     private val _shouldReloadSettingsList = MutableStateFlow(false)
 
 
-    val isUsingSearch: StateFlow<Boolean> get() = _isUsingSearch
-    private val _isUsingSearch = MutableStateFlow(false)
-
     val sliderProgress: StateFlow<Int> get() = _sliderProgress
     val sliderProgress: StateFlow<Int> get() = _sliderProgress
     private val _sliderProgress = MutableStateFlow(-1)
     private val _sliderProgress = MutableStateFlow(-1)
 
 
@@ -57,10 +54,6 @@ class SettingsViewModel : ViewModel() {
         _shouldReloadSettingsList.value = value
         _shouldReloadSettingsList.value = value
     }
     }
 
 
-    fun setIsUsingSearch(value: Boolean) {
-        _isUsingSearch.value = value
-    }
-
     fun setSliderTextValue(value: Float, units: String) {
     fun setSliderTextValue(value: Float, units: String) {
         _sliderProgress.value = value.toInt()
         _sliderProgress.value = value.toInt()
         _sliderTextValue.value = String.format(
         _sliderTextValue.value = String.format(