From fdd200d33f1dd4789257ed2ddb207a9b067133bb Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 31 May 2023 02:23:23 -0400 Subject: android: Prevent deleting the settings file while a game is running --- .../yuzu/yuzu_emu/features/settings/model/view/RunnableSetting.kt | 1 + .../yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt | 3 ++- .../yuzu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/RunnableSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/RunnableSetting.kt index dc89b5774..caaab50d8 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/RunnableSetting.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/RunnableSetting.kt @@ -6,6 +6,7 @@ package org.yuzu.yuzu_emu.features.settings.model.view class RunnableSetting( titleId: Int, descriptionId: Int, + val isRuntimeRunnable: Boolean, val runnable: () -> Unit ) : SettingsItem(null, titleId, descriptionId) { override val type = TYPE_RUNNABLE diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index d9abc358a..7d55c5b2f 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -115,7 +115,8 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) add( RunnableSetting( R.string.reset_to_default, - 0 + 0, + false ) { ResetSettingsDialogFragment().show( settingsActivity.supportFragmentManager, diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt index 0c0bb93fc..5dad5945f 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt @@ -4,6 +4,7 @@ package org.yuzu.yuzu_emu.features.settings.ui.viewholder import android.view.View +import org.yuzu.yuzu_emu.NativeLibrary import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding import org.yuzu.yuzu_emu.features.settings.model.view.RunnableSetting import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem @@ -25,7 +26,9 @@ class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsA } override fun onClick(clicked: View) { - setting.runnable.invoke() + if (!setting.isRuntimeRunnable && !NativeLibrary.isRunning()) { + setting.runnable.invoke() + } } override fun onLongClick(clicked: View): Boolean { -- cgit v1.2.3