From 6a08b12c9bb5100b81402c3438b7fa29247444be Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 15 Mar 2023 03:31:55 -0400 Subject: [PATCH] Android: Convert InputStringSettingViewHolder to Kotlin --- .../InputStringSettingViewHolder.java | 71 ------------------- .../InputStringSettingViewHolder.kt | 49 +++++++++++++ 2 files changed, 49 insertions(+), 71 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.kt diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.java deleted file mode 100644 index 6743808079..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.java +++ /dev/null @@ -1,71 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.features.settings.ui.viewholder; - -import android.text.TextUtils; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import org.dolphinemu.dolphinemu.databinding.ListItemSettingBinding; -import org.dolphinemu.dolphinemu.features.settings.model.view.InputStringSetting; -import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem; -import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter; - -public final class InputStringSettingViewHolder extends SettingViewHolder -{ - private InputStringSetting mInputString; - - private final ListItemSettingBinding mBinding; - - public InputStringSettingViewHolder(@NonNull ListItemSettingBinding binding, - SettingsAdapter adapter) - { - super(binding.getRoot(), adapter); - mBinding = binding; - } - - @Override - public void bind(SettingsItem item) - { - mInputString = (InputStringSetting) item; - - String inputString = mInputString.getSelectedValue(); - - mBinding.textSettingName.setText(item.getName()); - - if (!TextUtils.isEmpty(inputString)) - { - mBinding.textSettingDescription.setText(inputString); - } - else - { - mBinding.textSettingDescription.setText(item.getDescription()); - } - - setStyle(mBinding.textSettingName, mInputString); - } - - @Override - public void onClick(View clicked) - { - if (!mInputString.isEditable()) - { - showNotRuntimeEditableError(); - return; - } - - int position = getBindingAdapterPosition(); - - getAdapter().onInputStringClick(mInputString, position); - - setStyle(mBinding.textSettingName, mInputString); - } - - @Nullable @Override - protected SettingsItem getItem() - { - return mInputString; - } -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.kt new file mode 100644 index 0000000000..4af0019c30 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputStringSettingViewHolder.kt @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.settings.ui.viewholder + +import android.text.TextUtils +import android.view.View +import org.dolphinemu.dolphinemu.databinding.ListItemSettingBinding +import org.dolphinemu.dolphinemu.features.settings.model.view.InputStringSetting +import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem +import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter + +class InputStringSettingViewHolder( + private val binding: ListItemSettingBinding, + adapter: SettingsAdapter +) : SettingViewHolder(binding.getRoot(), adapter) { + private lateinit var setting: InputStringSetting + + override val item: SettingsItem + get() = setting + + override fun bind(item: SettingsItem) { + setting = item as InputStringSetting + + val inputString = setting.selectedValue + + binding.textSettingName.text = setting.name + + if (!TextUtils.isEmpty(inputString)) { + binding.textSettingDescription.text = inputString + } else { + binding.textSettingDescription.text = setting.description + } + + setStyle(binding.textSettingName, setting) + } + + override fun onClick(clicked: View) { + if (!setting.isEditable) { + showNotRuntimeEditableError() + return + } + + val position = bindingAdapterPosition + + adapter.onInputStringClick(setting, position) + + setStyle(binding.textSettingName, setting) + } +}