diff options
| author | JosJuice <josjuice@gmail.com> | 2021-08-09 15:24:32 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2021-09-16 18:48:38 +0200 |
| commit | 883a9f8a9900db8456350123e48618497ffb961c (patch) | |
| tree | 6823cef95d45a6ad0a93061f84d5566d9dbf9155 /Source/Android/app/src/main/java | |
| parent | fc6c31c3db77dcb04473378f27e24283131b6052 (diff) | |
Android: Allow viewing/editing the actual codes
Diffstat (limited to 'Source/Android/app/src/main/java')
6 files changed, 38 insertions, 9 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ARCheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ARCheat.java index bed39c2dbd..432da43ce1 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ARCheat.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/ARCheat.java @@ -22,12 +22,15 @@ public class ARCheat extends AbstractCheat @NonNull public native String getName(); + @NonNull + public native String getCode(); + public native boolean getUserDefined(); public native boolean getEnabled(); @Override - protected native int trySetImpl(@NonNull String name); + protected native int trySetImpl(@NonNull String name, @NonNull String code); @Override protected native void setEnabledImpl(boolean enabled); 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 60391895c7..cca4b041d9 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 @@ -9,12 +9,12 @@ public abstract class AbstractCheat implements Cheat { private Runnable mChangedCallback = null; - public int trySet(@NonNull String name) + public int trySet(@NonNull String name, @NonNull String code) { if (name.isEmpty()) return TRY_SET_FAIL_NO_NAME; - int result = trySetImpl(name); + int result = trySetImpl(name, code); if (result == TRY_SET_SUCCESS) onChanged(); @@ -39,7 +39,7 @@ public abstract class AbstractCheat implements Cheat mChangedCallback.run(); } - protected abstract int trySetImpl(@NonNull String name); + protected abstract int trySetImpl(@NonNull String name, @NonNull String code); protected abstract void setEnabledImpl(boolean enabled); } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/Cheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/Cheat.java index baf8ebb5be..505bd5c026 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/Cheat.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/Cheat.java @@ -7,13 +7,19 @@ import androidx.annotation.Nullable; public interface Cheat { + int TRY_SET_FAIL_CODE_MIXED_ENCRYPTION = -3; + int TRY_SET_FAIL_NO_CODE_LINES = -2; int TRY_SET_FAIL_NO_NAME = -1; int TRY_SET_SUCCESS = 0; + // Result codes greater than 0 represent an error on the corresponding code line (one-indexed) @NonNull String getName(); - int trySet(@NonNull String name); + @NonNull + String getCode(); + + int trySet(@NonNull String name, @NonNull String code); boolean getUserDefined(); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java index 06815d1fe9..6ef6a9431e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java @@ -22,12 +22,15 @@ public class GeckoCheat extends AbstractCheat @NonNull public native String getName(); + @NonNull + public native String getCode(); + public native boolean getUserDefined(); public native boolean getEnabled(); @Override - protected native int trySetImpl(@NonNull String name); + protected native int trySetImpl(@NonNull String name, @NonNull String code); @Override protected native void setEnabledImpl(boolean enabled); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/PatchCheat.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/PatchCheat.java index b4e0ee3e53..8514ae00cc 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/PatchCheat.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/PatchCheat.java @@ -22,12 +22,15 @@ public class PatchCheat extends AbstractCheat @NonNull public native String getName(); + @NonNull + public native String getCode(); + public native boolean getUserDefined(); public native boolean getEnabled(); @Override - protected native int trySetImpl(@NonNull String name); + protected native int trySetImpl(@NonNull String name, @NonNull String code); @Override protected native void setEnabledImpl(boolean enabled); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatDetailsFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatDetailsFragment.java index 3a61b2e4b7..ffe86fc702 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatDetailsFragment.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/ui/CheatDetailsFragment.java @@ -23,6 +23,7 @@ public class CheatDetailsFragment extends Fragment { private View mRoot; private EditText mEditName; + private EditText mEditCode; private Button mButtonEdit; private Button mButtonCancel; private Button mButtonOk; @@ -43,6 +44,7 @@ public class CheatDetailsFragment extends Fragment { mRoot = view.findViewById(R.id.root); mEditName = view.findViewById(R.id.edit_name); + mEditCode = view.findViewById(R.id.edit_code); mButtonEdit = view.findViewById(R.id.button_edit); mButtonCancel = view.findViewById(R.id.button_cancel); mButtonOk = view.findViewById(R.id.button_ok); @@ -65,13 +67,14 @@ public class CheatDetailsFragment extends Fragment private void clearEditErrors() { mEditName.setError(null); + mEditCode.setError(null); } private void onOkClicked(View view) { clearEditErrors(); - int result = mCheat.trySet(mEditName.getText().toString()); + int result = mCheat.trySet(mEditName.getText().toString(), mEditCode.getText().toString()); switch (result) { @@ -80,7 +83,16 @@ public class CheatDetailsFragment extends Fragment mViewModel.setIsEditing(false); break; case Cheat.TRY_SET_FAIL_NO_NAME: - mEditName.setError(getText(R.string.cheats_error_no_name)); + mEditName.setError(getString(R.string.cheats_error_no_name)); + break; + case Cheat.TRY_SET_FAIL_NO_CODE_LINES: + mEditCode.setError(getString(R.string.cheats_error_no_code_lines)); + break; + case Cheat.TRY_SET_FAIL_CODE_MIXED_ENCRYPTION: + mEditCode.setError(getString(R.string.cheats_error_mixed_encryption)); + break; + default: + mEditCode.setError(getString(R.string.cheats_error_on_line, result)); break; } } @@ -101,6 +113,7 @@ public class CheatDetailsFragment extends Fragment if (!isEditing && cheat != null) { mEditName.setText(cheat.getName()); + mEditCode.setText(cheat.getCode()); } mCheat = cheat; @@ -109,6 +122,7 @@ public class CheatDetailsFragment extends Fragment private void onIsEditingUpdated(boolean isEditing) { mEditName.setEnabled(isEditing); + mEditCode.setEnabled(isEditing); mButtonEdit.setVisibility(isEditing ? View.GONE : View.VISIBLE); mButtonCancel.setVisibility(isEditing ? View.VISIBLE : View.GONE); |
