summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java100
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt30
2 files changed, 30 insertions, 100 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java
deleted file mode 100644
index e2ba9014f..000000000
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.yuzu.yuzu_emu.features.settings.model.view;
-
-import org.yuzu.yuzu_emu.features.settings.model.Setting;
-import org.yuzu.yuzu_emu.features.settings.model.Settings;
-import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter;
-
-/**
- * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.
- * Each one corresponds to a {@link Setting} object, so this class's subclasses
- * should vaguely correspond to those subclasses. There are a few with multiple analogues
- * and a few with none (Headers, for example, do not correspond to anything in the ini
- * file.)
- */
-public abstract class SettingsItem {
- public static final int TYPE_HEADER = 0;
- public static final int TYPE_CHECKBOX = 1;
- public static final int TYPE_SINGLE_CHOICE = 2;
- public static final int TYPE_SLIDER = 3;
- public static final int TYPE_SUBMENU = 4;
- public static final int TYPE_STRING_SINGLE_CHOICE = 5;
- public static final int TYPE_DATETIME_SETTING = 6;
-
- private String mKey;
- private String mSection;
-
- private Setting mSetting;
-
- private int mNameId;
- private int mDescriptionId;
- private boolean mIsPremium;
-
- /**
- * Base constructor. Takes a key / section name in case the third parameter, the Setting,
- * is null; in which case, one can be constructed and saved using the key / section.
- *
- * @param key Identifier for the Setting represented by this Item.
- * @param section Section to which the Setting belongs.
- * @param setting A possibly-null backing Setting, to be modified on UI events.
- * @param nameId Resource ID for a text string to be displayed as this setting's name.
- * @param descriptionId Resource ID for a text string to be displayed as this setting's description.
- */
- public SettingsItem(String key, String section, Setting setting, int nameId,
- int descriptionId) {
- mKey = key;
- mSection = section;
- mSetting = setting;
- mNameId = nameId;
- mDescriptionId = descriptionId;
- }
-
- /**
- * @return The identifier for the backing Setting.
- */
- public String getKey() {
- return mKey;
- }
-
- /**
- * @return The header under which the backing Setting belongs.
- */
- public String getSection() {
- return mSection;
- }
-
- /**
- * @return The backing Setting, possibly null.
- */
- public Setting getSetting() {
- return mSetting;
- }
-
- /**
- * Replace the backing setting with a new one. Generally used in cases where
- * the backing setting is null.
- *
- * @param setting A non-null Setting.
- */
- public void setSetting(Setting setting) {
- mSetting = setting;
- }
-
- /**
- * @return A resource ID for a text string representing this Setting's name.
- */
- public int getNameId() {
- return mNameId;
- }
-
- public int getDescriptionId() {
- return mDescriptionId;
- }
-
- /**
- * Used by {@link SettingsAdapter}'s onCreateViewHolder()
- * method to determine which type of ViewHolder should be created.
- *
- * @return An integer (ideally, one of the constants defined in this file)
- */
- public abstract int getType();
-}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
new file mode 100644
index 000000000..a795374f9
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
@@ -0,0 +1,30 @@
+package org.yuzu.yuzu_emu.features.settings.model.view
+
+import org.yuzu.yuzu_emu.features.settings.model.Setting
+
+/**
+ * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.
+ * Each one corresponds to a [Setting] object, so this class's subclasses
+ * should vaguely correspond to those subclasses. There are a few with multiple analogues
+ * and a few with none (Headers, for example, do not correspond to anything in the ini
+ * file.)
+ */
+abstract class SettingsItem(
+ val key: String?,
+ val section: String?,
+ var setting: Setting?,
+ val nameId: Int,
+ val descriptionId: Int?
+) {
+ abstract val type: Int
+
+ companion object {
+ const val TYPE_HEADER = 0
+ const val TYPE_CHECKBOX = 1
+ const val TYPE_SINGLE_CHOICE = 2
+ const val TYPE_SLIDER = 3
+ const val TYPE_SUBMENU = 4
+ const val TYPE_STRING_SINGLE_CHOICE = 5
+ const val TYPE_DATETIME_SETTING = 6
+ }
+}