Android: Convert MenuTag to Kotlin
This commit is contained in:
parent
2af8efdd72
commit
dc77ee140d
|
@ -1,165 +0,0 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
package org.dolphinemu.dolphinemu.features.settings.ui;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
|
|
||||||
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.EmulatedController;
|
|
||||||
|
|
||||||
public enum MenuTag
|
|
||||||
{
|
|
||||||
SETTINGS("settings"),
|
|
||||||
CONFIG("config"),
|
|
||||||
CONFIG_GENERAL("config_general"),
|
|
||||||
CONFIG_INTERFACE("config_interface"),
|
|
||||||
CONFIG_AUDIO("config_audio"),
|
|
||||||
CONFIG_PATHS("config_paths"),
|
|
||||||
CONFIG_GAME_CUBE("config_gamecube"),
|
|
||||||
CONFIG_SERIALPORT1("config_serialport1"),
|
|
||||||
CONFIG_WII("config_wii"),
|
|
||||||
CONFIG_ADVANCED("config_advanced"),
|
|
||||||
CONFIG_LOG("config_log"),
|
|
||||||
DEBUG("debug"),
|
|
||||||
GRAPHICS("graphics"),
|
|
||||||
ENHANCEMENTS("enhancements"),
|
|
||||||
STEREOSCOPY("stereoscopy"),
|
|
||||||
HACKS("hacks"),
|
|
||||||
STATISTICS("statistics"),
|
|
||||||
ADVANCED_GRAPHICS("advanced_graphics"),
|
|
||||||
GCPAD_TYPE("gc_pad_type"),
|
|
||||||
WIIMOTE("wiimote"),
|
|
||||||
WIIMOTE_EXTENSION("wiimote_extension"),
|
|
||||||
GCPAD_1("gcpad", 0),
|
|
||||||
GCPAD_2("gcpad", 1),
|
|
||||||
GCPAD_3("gcpad", 2),
|
|
||||||
GCPAD_4("gcpad", 3),
|
|
||||||
WIIMOTE_1("wiimote", 0),
|
|
||||||
WIIMOTE_2("wiimote", 1),
|
|
||||||
WIIMOTE_3("wiimote", 2),
|
|
||||||
WIIMOTE_4("wiimote", 3),
|
|
||||||
WIIMOTE_EXTENSION_1("wiimote_extension", 0),
|
|
||||||
WIIMOTE_EXTENSION_2("wiimote_extension", 1),
|
|
||||||
WIIMOTE_EXTENSION_3("wiimote_extension", 2),
|
|
||||||
WIIMOTE_EXTENSION_4("wiimote_extension", 3),
|
|
||||||
WIIMOTE_GENERAL_1("wiimote_general", 0),
|
|
||||||
WIIMOTE_GENERAL_2("wiimote_general", 1),
|
|
||||||
WIIMOTE_GENERAL_3("wiimote_general", 2),
|
|
||||||
WIIMOTE_GENERAL_4("wiimote_general", 3),
|
|
||||||
WIIMOTE_MOTION_SIMULATION_1("wiimote_motion_simulation", 0),
|
|
||||||
WIIMOTE_MOTION_SIMULATION_2("wiimote_motion_simulation", 1),
|
|
||||||
WIIMOTE_MOTION_SIMULATION_3("wiimote_motion_simulation", 2),
|
|
||||||
WIIMOTE_MOTION_SIMULATION_4("wiimote_motion_simulation", 3),
|
|
||||||
WIIMOTE_MOTION_INPUT_1("wiimote_motion_input", 0),
|
|
||||||
WIIMOTE_MOTION_INPUT_2("wiimote_motion_input", 1),
|
|
||||||
WIIMOTE_MOTION_INPUT_3("wiimote_motion_input", 2),
|
|
||||||
WIIMOTE_MOTION_INPUT_4("wiimote_motion_input", 3);
|
|
||||||
|
|
||||||
private String tag;
|
|
||||||
private int subType = -1;
|
|
||||||
|
|
||||||
MenuTag(String tag)
|
|
||||||
{
|
|
||||||
this.tag = tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
MenuTag(String tag, int subtype)
|
|
||||||
{
|
|
||||||
this.tag = tag;
|
|
||||||
this.subType = subtype;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String toString()
|
|
||||||
{
|
|
||||||
if (subType != -1)
|
|
||||||
{
|
|
||||||
return tag + subType;
|
|
||||||
}
|
|
||||||
|
|
||||||
return tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTag()
|
|
||||||
{
|
|
||||||
return tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSubType()
|
|
||||||
{
|
|
||||||
return subType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EmulatedController getCorrespondingEmulatedController()
|
|
||||||
{
|
|
||||||
if (isGCPadMenu())
|
|
||||||
return EmulatedController.getGcPad(getSubType());
|
|
||||||
else if (isWiimoteMenu())
|
|
||||||
return EmulatedController.getWiimote(getSubType());
|
|
||||||
else
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSerialPort1Menu()
|
|
||||||
{
|
|
||||||
return this == CONFIG_SERIALPORT1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isGCPadMenu()
|
|
||||||
{
|
|
||||||
return this == GCPAD_1 || this == GCPAD_2 || this == GCPAD_3 || this == GCPAD_4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWiimoteMenu()
|
|
||||||
{
|
|
||||||
return this == WIIMOTE_1 || this == WIIMOTE_2 || this == WIIMOTE_3 || this == WIIMOTE_4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWiimoteExtensionMenu()
|
|
||||||
{
|
|
||||||
return this == WIIMOTE_EXTENSION_1 || this == WIIMOTE_EXTENSION_2
|
|
||||||
|| this == WIIMOTE_EXTENSION_3 || this == WIIMOTE_EXTENSION_4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getGCPadMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("gcpad", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getWiimoteMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("wiimote", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getWiimoteExtensionMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("wiimote_extension", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getWiimoteGeneralMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("wiimote_general", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getWiimoteMotionSimulationMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("wiimote_motion_simulation", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuTag getWiimoteMotionInputMenuTag(int subtype)
|
|
||||||
{
|
|
||||||
return getMenuTag("wiimote_motion_input", subtype);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static MenuTag getMenuTag(String tag, int subtype)
|
|
||||||
{
|
|
||||||
for (MenuTag menuTag : MenuTag.values())
|
|
||||||
{
|
|
||||||
if (menuTag.tag.equals(tag) && menuTag.subType == subtype)
|
|
||||||
return menuTag;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new IllegalArgumentException("You are asking for a menu that is not available or " +
|
|
||||||
"passing a wrong subtype");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
package org.dolphinemu.dolphinemu.features.settings.ui
|
||||||
|
|
||||||
|
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.EmulatedController
|
||||||
|
|
||||||
|
enum class MenuTag {
|
||||||
|
SETTINGS("settings"),
|
||||||
|
CONFIG("config"),
|
||||||
|
CONFIG_GENERAL("config_general"),
|
||||||
|
CONFIG_INTERFACE("config_interface"),
|
||||||
|
CONFIG_AUDIO("config_audio"),
|
||||||
|
CONFIG_PATHS("config_paths"),
|
||||||
|
CONFIG_GAME_CUBE("config_gamecube"),
|
||||||
|
CONFIG_SERIALPORT1("config_serialport1"),
|
||||||
|
CONFIG_WII("config_wii"),
|
||||||
|
CONFIG_ADVANCED("config_advanced"),
|
||||||
|
CONFIG_LOG("config_log"),
|
||||||
|
DEBUG("debug"),
|
||||||
|
GRAPHICS("graphics"),
|
||||||
|
ENHANCEMENTS("enhancements"),
|
||||||
|
STEREOSCOPY("stereoscopy"),
|
||||||
|
HACKS("hacks"),
|
||||||
|
STATISTICS("statistics"),
|
||||||
|
ADVANCED_GRAPHICS("advanced_graphics"),
|
||||||
|
GCPAD_TYPE("gc_pad_type"),
|
||||||
|
WIIMOTE("wiimote"),
|
||||||
|
WIIMOTE_EXTENSION("wiimote_extension"),
|
||||||
|
GCPAD_1("gcpad", 0),
|
||||||
|
GCPAD_2("gcpad", 1),
|
||||||
|
GCPAD_3("gcpad", 2),
|
||||||
|
GCPAD_4("gcpad", 3),
|
||||||
|
WIIMOTE_1("wiimote", 0),
|
||||||
|
WIIMOTE_2("wiimote", 1),
|
||||||
|
WIIMOTE_3("wiimote", 2),
|
||||||
|
WIIMOTE_4("wiimote", 3),
|
||||||
|
WIIMOTE_EXTENSION_1("wiimote_extension", 0),
|
||||||
|
WIIMOTE_EXTENSION_2("wiimote_extension", 1),
|
||||||
|
WIIMOTE_EXTENSION_3("wiimote_extension", 2),
|
||||||
|
WIIMOTE_EXTENSION_4("wiimote_extension", 3),
|
||||||
|
WIIMOTE_GENERAL_1("wiimote_general", 0),
|
||||||
|
WIIMOTE_GENERAL_2("wiimote_general", 1),
|
||||||
|
WIIMOTE_GENERAL_3("wiimote_general", 2),
|
||||||
|
WIIMOTE_GENERAL_4("wiimote_general", 3),
|
||||||
|
WIIMOTE_MOTION_SIMULATION_1("wiimote_motion_simulation", 0),
|
||||||
|
WIIMOTE_MOTION_SIMULATION_2("wiimote_motion_simulation", 1),
|
||||||
|
WIIMOTE_MOTION_SIMULATION_3("wiimote_motion_simulation", 2),
|
||||||
|
WIIMOTE_MOTION_SIMULATION_4("wiimote_motion_simulation", 3),
|
||||||
|
WIIMOTE_MOTION_INPUT_1("wiimote_motion_input", 0),
|
||||||
|
WIIMOTE_MOTION_INPUT_2("wiimote_motion_input", 1),
|
||||||
|
WIIMOTE_MOTION_INPUT_3("wiimote_motion_input", 2),
|
||||||
|
WIIMOTE_MOTION_INPUT_4("wiimote_motion_input", 3);
|
||||||
|
|
||||||
|
var tag: String
|
||||||
|
private set
|
||||||
|
var subType = -1
|
||||||
|
private set
|
||||||
|
|
||||||
|
constructor(tag: String) {
|
||||||
|
this.tag = tag
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(tag: String, subtype: Int) {
|
||||||
|
this.tag = tag
|
||||||
|
subType = subtype
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun toString(): String {
|
||||||
|
return if (subType != -1) {
|
||||||
|
tag + subType
|
||||||
|
} else tag
|
||||||
|
}
|
||||||
|
|
||||||
|
val correspondingEmulatedController: EmulatedController
|
||||||
|
get() = if (isGCPadMenu) EmulatedController.getGcPad(subType) else if (isWiimoteMenu) EmulatedController.getWiimote(
|
||||||
|
subType
|
||||||
|
) else throw UnsupportedOperationException()
|
||||||
|
|
||||||
|
val isSerialPort1Menu: Boolean
|
||||||
|
get() = this == CONFIG_SERIALPORT1
|
||||||
|
|
||||||
|
val isGCPadMenu: Boolean
|
||||||
|
get() = this == GCPAD_1 || this == GCPAD_2 || this == GCPAD_3 || this == GCPAD_4
|
||||||
|
|
||||||
|
val isWiimoteMenu: Boolean
|
||||||
|
get() = this == WIIMOTE_1 || this == WIIMOTE_2 || this == WIIMOTE_3 || this == WIIMOTE_4
|
||||||
|
|
||||||
|
val isWiimoteExtensionMenu: Boolean
|
||||||
|
get() = this == WIIMOTE_EXTENSION_1 || this == WIIMOTE_EXTENSION_2 || this == WIIMOTE_EXTENSION_3 || this == WIIMOTE_EXTENSION_4
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
@JvmStatic
|
||||||
|
fun getGCPadMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("gcpad", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getWiimoteMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("wiimote", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getWiimoteExtensionMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("wiimote_extension", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getWiimoteGeneralMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("wiimote_general", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getWiimoteMotionSimulationMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("wiimote_motion_simulation", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getWiimoteMotionInputMenuTag(subtype: Int): MenuTag {
|
||||||
|
return getMenuTag("wiimote_motion_input", subtype)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getMenuTag(tag: String, subtype: Int): MenuTag {
|
||||||
|
for (menuTag in values()) {
|
||||||
|
if (menuTag.tag == tag && menuTag.subType == subtype) return menuTag
|
||||||
|
}
|
||||||
|
throw IllegalArgumentException(
|
||||||
|
"You are asking for a menu that is not available or " +
|
||||||
|
"passing a wrong subtype"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue