summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-03-01 14:38:19 -0500
committerCharles Lombardo <clombardo169@gmail.com>2023-03-01 14:38:19 -0500
commite37503675a862a49d99618c7f20a5192a19cd0e7 (patch)
tree20c76ca1cbbb3b321af5093ecae0f7791c3998cc /Source/Android/app/src/main/java/org
parentec7b811de302ed1c5b008d9713634e5532ba0c1a (diff)
Android: Convert RiivolutionViewHolder to Kotlin
Diffstat (limited to 'Source/Android/app/src/main/java/org')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.java87
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.kt87
2 files changed, 87 insertions, 87 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.java
deleted file mode 100644
index 4a8c4f383f..0000000000
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.java
+++ /dev/null
@@ -1,87 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-package org.dolphinemu.dolphinemu.features.riivolution.ui;
-
-import android.content.Context;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import org.dolphinemu.dolphinemu.R;
-import org.dolphinemu.dolphinemu.databinding.ListItemRiivolutionBinding;
-import org.dolphinemu.dolphinemu.features.riivolution.model.RiivolutionPatches;
-
-public class RiivolutionViewHolder extends RecyclerView.ViewHolder
- implements AdapterView.OnItemClickListener
-{
- private final ListItemRiivolutionBinding mBinding;
-
- private RiivolutionPatches mPatches;
- private RiivolutionItem mItem;
-
- public RiivolutionViewHolder(@NonNull View itemView, ListItemRiivolutionBinding binding)
- {
- super(itemView);
- mBinding = binding;
- }
-
- public void bind(Context context, RiivolutionPatches patches, RiivolutionItem item)
- {
- // TODO: Remove workaround for text filtering issue in material components when fixed
- // https://github.com/material-components/material-components-android/issues/1464
- mBinding.dropdownChoice.setSaveEnabled(false);
-
- String text;
- if (item.mOptionIndex != -1)
- {
- mBinding.textName.setVisibility(View.GONE);
- text = patches.getOptionName(item.mDiscIndex, item.mSectionIndex, item.mOptionIndex);
- mBinding.layoutChoice.setHint(text);
- }
- else if (item.mSectionIndex != -1)
- {
- mBinding.textName.setTextAppearance(context, R.style.TextAppearance_AppCompat_Medium);
- mBinding.layoutChoice.setVisibility(View.GONE);
- text = patches.getSectionName(item.mDiscIndex, item.mSectionIndex);
- }
- else
- {
- mBinding.layoutChoice.setVisibility(View.GONE);
- text = patches.getDiscName(item.mDiscIndex);
- }
- mBinding.textName.setText(text);
-
- if (item.mOptionIndex != -1)
- {
- mPatches = patches;
- mItem = item;
-
- ArrayAdapter<String> adapter = new ArrayAdapter<>(context,
- R.layout.support_simple_spinner_dropdown_item);
-
- int choiceCount =
- patches.getChoiceCount(mItem.mDiscIndex, mItem.mSectionIndex, mItem.mOptionIndex);
- adapter.add(context.getString(R.string.riivolution_disabled));
- for (int i = 0; i < choiceCount; i++)
- {
- adapter.add(patches.getChoiceName(mItem.mDiscIndex, mItem.mSectionIndex, mItem.mOptionIndex,
- i));
- }
-
- mBinding.dropdownChoice.setAdapter(adapter);
- mBinding.dropdownChoice.setText(adapter.getItem(
- patches.getSelectedChoice(mItem.mDiscIndex, mItem.mSectionIndex, mItem.mOptionIndex)),
- false);
- mBinding.dropdownChoice.setOnItemClickListener(this);
- }
- }
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id)
- {
- mPatches.setSelectedChoice(mItem.mDiscIndex, mItem.mSectionIndex, mItem.mOptionIndex, position);
- }
-}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.kt
new file mode 100644
index 0000000000..8406fac346
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionViewHolder.kt
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.dolphinemu.dolphinemu.features.riivolution.ui
+
+import android.content.Context
+import android.view.View
+import android.widget.AdapterView
+import android.widget.AdapterView.OnItemClickListener
+import android.widget.ArrayAdapter
+import androidx.recyclerview.widget.RecyclerView
+import org.dolphinemu.dolphinemu.R
+import org.dolphinemu.dolphinemu.databinding.ListItemRiivolutionBinding
+import org.dolphinemu.dolphinemu.features.riivolution.model.RiivolutionPatches
+
+class RiivolutionViewHolder(itemView: View, private val binding: ListItemRiivolutionBinding) :
+ RecyclerView.ViewHolder(itemView), OnItemClickListener {
+ private lateinit var patches: RiivolutionPatches
+ private lateinit var item: RiivolutionItem
+
+ fun bind(context: Context, patches: RiivolutionPatches, item: RiivolutionItem) {
+ // TODO: Remove workaround for text filtering issue in material components when fixed
+ // https://github.com/material-components/material-components-android/issues/1464
+ binding.dropdownChoice.isSaveEnabled = false
+
+ val text: String
+ if (item.mOptionIndex != -1) {
+ binding.textName.visibility = View.GONE
+ text = patches.getOptionName(item.mDiscIndex, item.mSectionIndex, item.mOptionIndex)
+ binding.layoutChoice.hint = text
+ } else if (item.mSectionIndex != -1) {
+ // TODO: Use supported version of setTextAppearance when min requirement is API 23
+ binding.textName.setTextAppearance(context, R.style.TextAppearance_AppCompat_Medium)
+ binding.layoutChoice.visibility = View.GONE
+ text = patches.getSectionName(item.mDiscIndex, item.mSectionIndex)
+ } else {
+ binding.layoutChoice.visibility = View.GONE
+ text = patches.getDiscName(item.mDiscIndex)
+ }
+ binding.textName.text = text
+
+ if (item.mOptionIndex != -1) {
+ this.patches = patches
+ this.item = item
+ val adapter = ArrayAdapter<String>(
+ context,
+ R.layout.support_simple_spinner_dropdown_item
+ )
+ val choiceCount = patches.getChoiceCount(
+ item.mDiscIndex,
+ item.mSectionIndex,
+ item.mOptionIndex
+ )
+ adapter.add(context.getString(R.string.riivolution_disabled))
+ for (i in 0 until choiceCount) {
+ adapter.add(
+ patches.getChoiceName(
+ item.mDiscIndex,
+ item.mSectionIndex,
+ item.mOptionIndex,
+ i
+ )
+ )
+ }
+
+ binding.dropdownChoice.setAdapter(adapter)
+ binding.dropdownChoice.setText(
+ adapter.getItem(
+ patches.getSelectedChoice(
+ item.mDiscIndex,
+ item.mSectionIndex,
+ item.mOptionIndex
+ )
+ ), false
+ )
+ binding.dropdownChoice.onItemClickListener = this
+ }
+ }
+
+ override fun onItemClick(parent: AdapterView<*>?, view: View, position: Int, id: Long) {
+ patches.setSelectedChoice(
+ item.mDiscIndex,
+ item.mSectionIndex,
+ item.mOptionIndex,
+ position
+ )
+ }
+}