From 3bd2bca38508965348bff45e4a77baa945abf33d Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 23 Jul 2022 17:38:32 +0200 Subject: Android: Add warning if graphics mods are not enabled --- .../features/cheats/ui/CheatWarningFragment.java | 63 ----------------- .../cheats/ui/CheatsDisabledWarningFragment.java | 16 +++++ .../ui/GraphicsModsDisabledWarningFragment.java | 16 +++++ .../cheats/ui/SettingDisabledWarningFragment.java | 80 ++++++++++++++++++++++ 4 files changed, 112 insertions(+), 63 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatWarningFragment.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatsDisabledWarningFragment.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/GraphicsModsDisabledWarningFragment.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/SettingDisabledWarningFragment.java (limited to 'Source/Android/app/src/main/java/org') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatWarningFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatWarningFragment.java deleted file mode 100644 index df6d9d94b0..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatWarningFragment.java +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.features.cheats.ui; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; - -import org.dolphinemu.dolphinemu.R; -import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting; -import org.dolphinemu.dolphinemu.features.settings.model.Settings; -import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; -import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity; - -public class CheatWarningFragment extends Fragment implements View.OnClickListener -{ - private View mView; - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, - @Nullable Bundle savedInstanceState) - { - return inflater.inflate(R.layout.fragment_cheat_warning, container, false); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) - { - mView = view; - - Button settingsButton = view.findViewById(R.id.button_settings); - settingsButton.setOnClickListener(this); - - CheatsActivity activity = (CheatsActivity) requireActivity(); - CheatsActivity.setOnFocusChangeListenerRecursively(view, - (v, hasFocus) -> activity.onListViewFocusChange(hasFocus)); - } - - @Override - public void onResume() - { - super.onResume(); - - CheatsActivity activity = (CheatsActivity) requireActivity(); - try (Settings settings = activity.loadGameSpecificSettings()) - { - boolean cheatsEnabled = BooleanSetting.MAIN_ENABLE_CHEATS.getBoolean(settings); - mView.setVisibility(cheatsEnabled ? View.GONE : View.VISIBLE); - } - } - - public void onClick(View view) - { - SettingsActivity.launch(requireContext(), MenuTag.CONFIG_GENERAL); - } -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatsDisabledWarningFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatsDisabledWarningFragment.java new file mode 100644 index 0000000000..f2dfd7b341 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatsDisabledWarningFragment.java @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.cheats.ui; + +import org.dolphinemu.dolphinemu.R; +import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting; +import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; + +public class CheatsDisabledWarningFragment extends SettingDisabledWarningFragment +{ + public CheatsDisabledWarningFragment() + { + super(BooleanSetting.MAIN_ENABLE_CHEATS, MenuTag.CONFIG_GENERAL, + R.string.cheats_disabled_warning); + } +} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/GraphicsModsDisabledWarningFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/GraphicsModsDisabledWarningFragment.java new file mode 100644 index 0000000000..eaf26f094b --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/GraphicsModsDisabledWarningFragment.java @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.cheats.ui; + +import org.dolphinemu.dolphinemu.R; +import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting; +import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; + +public class GraphicsModsDisabledWarningFragment extends SettingDisabledWarningFragment +{ + public GraphicsModsDisabledWarningFragment() + { + super(BooleanSetting.GFX_MODS_ENABLE, MenuTag.ADVANCED_GRAPHICS, + R.string.gfx_mods_disabled_warning); + } +} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/SettingDisabledWarningFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/SettingDisabledWarningFragment.java new file mode 100644 index 0000000000..c239c5c9af --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/SettingDisabledWarningFragment.java @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.cheats.ui; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + +import org.dolphinemu.dolphinemu.R; +import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting; +import org.dolphinemu.dolphinemu.features.settings.model.Settings; +import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; +import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity; + +public abstract class SettingDisabledWarningFragment extends Fragment + implements View.OnClickListener +{ + private View mView; + + private final AbstractBooleanSetting mSetting; + private final MenuTag mSettingShortcut; + private final int mText; + + public SettingDisabledWarningFragment(AbstractBooleanSetting setting, MenuTag settingShortcut, + int text) + { + mSetting = setting; + mSettingShortcut = settingShortcut; + mText = text; + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) + { + return inflater.inflate(R.layout.fragment_cheat_warning, container, false); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) + { + mView = view; + + TextView textView = view.findViewById(R.id.text_warning); + textView.setText(mText); + + Button settingsButton = view.findViewById(R.id.button_settings); + settingsButton.setOnClickListener(this); + + CheatsActivity activity = (CheatsActivity) requireActivity(); + CheatsActivity.setOnFocusChangeListenerRecursively(view, + (v, hasFocus) -> activity.onListViewFocusChange(hasFocus)); + } + + @Override + public void onResume() + { + super.onResume(); + + CheatsActivity activity = (CheatsActivity) requireActivity(); + try (Settings settings = activity.loadGameSpecificSettings()) + { + boolean cheatsEnabled = mSetting.getBoolean(settings); + mView.setVisibility(cheatsEnabled ? View.GONE : View.VISIBLE); + } + } + + public void onClick(View view) + { + SettingsActivity.launch(requireContext(), mSettingShortcut); + } +} -- cgit v1.2.3