From 37e8cd178902fa585af0b5b23506cef598acbcc2 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 1 Mar 2023 13:35:14 -0500 Subject: Android: Convert GeckoCheat to Kotlin --- .../features/cheats/model/GeckoCheat.java | 78 ---------------------- .../dolphinemu/features/cheats/model/GeckoCheat.kt | 72 ++++++++++++++++++++ 2 files changed, 72 insertions(+), 78 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.kt (limited to 'Source/Android/app/src/main/java') 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 deleted file mode 100644 index 4397a95d81..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.java +++ /dev/null @@ -1,78 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.features.cheats.model; - -import androidx.annotation.Keep; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -public class GeckoCheat extends AbstractCheat -{ - @Keep - private final long mPointer; - - public GeckoCheat() - { - mPointer = createNew(); - } - - @Keep - private GeckoCheat(long pointer) - { - mPointer = pointer; - } - - @Override - public native void finalize(); - - private native long createNew(); - - @Override - public boolean equals(@Nullable Object obj) - { - return obj != null && getClass() == obj.getClass() && equalsImpl((GeckoCheat) obj); - } - - public boolean supportsCreator() - { - return true; - } - - public boolean supportsNotes() - { - return true; - } - - @NonNull - public native String getName(); - - @NonNull - public native String getCreator(); - - @NonNull - public native String getNotes(); - - @NonNull - public native String getCode(); - - public native boolean getUserDefined(); - - public native boolean getEnabled(); - - public native boolean equalsImpl(@NonNull GeckoCheat other); - - @Override - protected native int trySetImpl(@NonNull String name, @NonNull String creator, - @NonNull String notes, @NonNull String code); - - @Override - protected native void setEnabledImpl(boolean enabled); - - @NonNull - public static native GeckoCheat[] loadCodes(String gameId, int revision); - - public static native void saveCodes(String gameId, int revision, GeckoCheat[] codes); - - @Nullable - public static native GeckoCheat[] downloadCodes(String gameTdbId); -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.kt new file mode 100644 index 0000000000..7a23066545 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat.kt @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +package org.dolphinemu.dolphinemu.features.cheats.model + +import androidx.annotation.Keep + +class GeckoCheat : AbstractCheat { + @Keep + private val mPointer: Long + + constructor() { + mPointer = createNew() + } + + @Keep + private constructor(pointer: Long) { + mPointer = pointer + } + + external fun finalize() + + private external fun createNew(): Long + + override fun equals(other: Any?): Boolean { + return other != null && javaClass == other.javaClass && equalsImpl(other as GeckoCheat) + } + + override fun hashCode(): Int { + return mPointer.hashCode() + } + + override fun supportsCreator(): Boolean { + return true + } + + override fun supportsNotes(): Boolean { + return true + } + + external override fun getName(): String + + external override fun getCreator(): String + + external override fun getNotes(): String + + external override fun getCode(): String + + external override fun getUserDefined(): Boolean + + external override fun getEnabled(): Boolean + + private external fun equalsImpl(other: GeckoCheat): Boolean + + external override fun setCheatImpl( + name: String, + creator: String, + notes: String, + code: String + ): Int + + external override fun setEnabledImpl(enabled: Boolean) + + companion object { + @JvmStatic + external fun loadCodes(gameId: String, revision: Int): Array + + @JvmStatic + external fun saveCodes(gameId: String, revision: Int, codes: Array) + + @JvmStatic + external fun downloadCodes(gameTdbId: String): Array? + } +} \ No newline at end of file -- cgit v1.2.3