diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/AbstractCheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/AbstractCheat.java index 2c33ccc616..d672013b4e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/AbstractCheat.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/AbstractCheat.java @@ -3,12 +3,9 @@ package org.dolphinemu.dolphinemu.features.cheats.model; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -public abstract class AbstractCheat implements Cheat +public abstract class AbstractCheat extends ReadOnlyCheat { - private Runnable mChangedCallback = null; - public boolean supportsCode() { return true; @@ -43,25 +40,6 @@ public abstract class AbstractCheat implements Cheat return result; } - public void setEnabled(boolean enabled) - { - setEnabledImpl(enabled); - onChanged(); - } - - public void setChangedCallback(@Nullable Runnable callback) - { - mChangedCallback = callback; - } - - protected void onChanged() - { - if (mChangedCallback != null) - mChangedCallback.run(); - } - protected abstract int trySetImpl(@NonNull String name, @NonNull String creator, @NonNull String notes, @NonNull String code); - - protected abstract void setEnabledImpl(boolean enabled); } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ReadOnlyCheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ReadOnlyCheat.java new file mode 100644 index 0000000000..9751c414f8 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ReadOnlyCheat.java @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.cheats.model; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +public abstract class ReadOnlyCheat implements Cheat +{ + private Runnable mChangedCallback = null; + + public int trySet(@NonNull String name, @NonNull String creator, @NonNull String notes, + @NonNull String code) + { + throw new UnsupportedOperationException(); + } + + public void setEnabled(boolean enabled) + { + setEnabledImpl(enabled); + onChanged(); + } + + public void setChangedCallback(@Nullable Runnable callback) + { + mChangedCallback = callback; + } + + protected void onChanged() + { + if (mChangedCallback != null) + mChangedCallback.run(); + } + + protected abstract void setEnabledImpl(boolean enabled); +}