Android: Convert AbstractCheat to Kotlin

This commit is contained in:
Charles Lombardo 2023-03-01 13:35:33 -05:00
parent 37e8cd1789
commit fbc617c917
2 changed files with 47 additions and 45 deletions

View File

@ -1,45 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.features.cheats.model;
import androidx.annotation.NonNull;
public abstract class AbstractCheat extends ReadOnlyCheat
{
public boolean supportsCode()
{
return true;
}
public int trySet(@NonNull String name, @NonNull String creator, @NonNull String notes,
@NonNull String code)
{
if (!code.isEmpty() && code.charAt(0) == '$')
{
int firstLineEnd = code.indexOf('\n');
if (firstLineEnd == -1)
{
name = code.substring(1);
code = "";
}
else
{
name = code.substring(1, firstLineEnd);
code = code.substring(firstLineEnd + 1);
}
}
if (name.isEmpty())
return TRY_SET_FAIL_NO_NAME;
int result = trySetImpl(name, creator, notes, code);
if (result == TRY_SET_SUCCESS)
onChanged();
return result;
}
protected abstract int trySetImpl(@NonNull String name, @NonNull String creator,
@NonNull String notes, @NonNull String code);
}

View File

@ -0,0 +1,47 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.features.cheats.model
import org.dolphinemu.dolphinemu.features.cheats.model.Cheat.Companion.TRY_SET_FAIL_NO_NAME
import org.dolphinemu.dolphinemu.features.cheats.model.Cheat.Companion.TRY_SET_SUCCESS
abstract class AbstractCheat : ReadOnlyCheat() {
override fun supportsCode(): Boolean {
return true
}
override fun setCheat(
name: String,
creator: String,
notes: String,
code: String
): Int {
var finalName = name
var finalCode = code
if (finalCode.isNotEmpty() && finalCode[0] == '$') {
val firstLineEnd = finalCode.indexOf('\n')
if (firstLineEnd == -1) {
finalName = finalCode.substring(1)
finalCode = ""
} else {
finalName = finalCode.substring(1, firstLineEnd)
finalCode = finalCode.substring(firstLineEnd + 1)
}
}
if (finalName.isEmpty()) return TRY_SET_FAIL_NO_NAME
val result = setCheatImpl(finalName, creator, notes, finalCode)
if (result == TRY_SET_SUCCESS) onChanged()
return result
}
protected abstract fun setCheatImpl(
name: String,
creator: String,
notes: String,
code: String
): Int
}