From 242ce2a0b3ca7dcc59d0cd53b0a739bb97218965 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 12 Aug 2023 20:21:47 -0400 Subject: [PATCH] android: Page forward on setup step completion --- .../main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt | 3 +++ .../main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt | 7 +++++++ .../src/main/java/org/yuzu/yuzu_emu/model/HomeViewModel.kt | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt index 0e3cec9ac..6b46d359e 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt @@ -9,9 +9,11 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.content.res.ResourcesCompat +import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.RecyclerView import com.google.android.material.button.MaterialButton import org.yuzu.yuzu_emu.databinding.PageSetupBinding +import org.yuzu.yuzu_emu.model.HomeViewModel import org.yuzu.yuzu_emu.model.SetupCallback import org.yuzu.yuzu_emu.model.SetupPage import org.yuzu.yuzu_emu.model.StepState @@ -80,6 +82,7 @@ class SetupAdapter(val activity: AppCompatActivity, val pages: List) override fun onStepCompleted() { ViewUtils.hideView(binding.buttonAction, 200) ViewUtils.showView(binding.textConfirmation, 200) + ViewModelProvider(activity)[HomeViewModel::class.java].setShouldPageForward(true) } } } diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt index e00013c1b..d50c421a0 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt @@ -206,6 +206,13 @@ class SetupFragment : Fragment() { ) } + homeViewModel.shouldPageForward.observe(viewLifecycleOwner) { + if (it) { + pageForward() + homeViewModel.setShouldPageForward(false) + } + } + binding.viewPager2.apply { adapter = SetupAdapter(requireActivity() as AppCompatActivity, pages) offscreenPageLimit = 2 diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/HomeViewModel.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/HomeViewModel.kt index 263ee7144..e13d84c9c 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/HomeViewModel.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/HomeViewModel.kt @@ -14,6 +14,9 @@ class HomeViewModel : ViewModel() { private val _statusBarShadeVisible = MutableLiveData(true) val statusBarShadeVisible: LiveData get() = _statusBarShadeVisible + private val _shouldPageForward = MutableLiveData(false) + val shouldPageForward: LiveData get() = _shouldPageForward + var navigatedToSetup = false init { @@ -33,4 +36,8 @@ class HomeViewModel : ViewModel() { } _statusBarShadeVisible.value = visible } + + fun setShouldPageForward(pageForward: Boolean) { + _shouldPageForward.value = pageForward + } }