summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-03-15 03:31:09 -0400
committerCharles Lombardo <clombardo169@gmail.com>2023-03-15 17:35:48 -0400
commit220cdafbaa2809cc7f81c6cec8ccb46b95639e29 (patch)
tree367d0cf16cc8cb27424f875ec8a48f380d685a56 /Source/Android/app/src/main/java/org
parentf0304d80ef0815cdf78472bf9607f29c7d97f860 (diff)
Android: Convert FilePickerViewHolder 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/settings/ui/viewholder/FilePickerViewHolder.java99
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.kt68
2 files changed, 68 insertions, 99 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java
deleted file mode 100644
index 1b75bb72b2..0000000000
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java
+++ /dev/null
@@ -1,99 +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.Nullable;
-
-import org.dolphinemu.dolphinemu.R;
-import org.dolphinemu.dolphinemu.databinding.ListItemSettingBinding;
-import org.dolphinemu.dolphinemu.features.settings.model.view.FilePicker;
-import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem;
-import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
-import org.dolphinemu.dolphinemu.ui.main.MainPresenter;
-import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
-import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
-
-public final class FilePickerViewHolder extends SettingViewHolder
-{
- private FilePicker mFilePicker;
- private SettingsItem mItem;
-
- private final ListItemSettingBinding mBinding;
-
- public FilePickerViewHolder(ListItemSettingBinding binding, SettingsAdapter adapter)
- {
- super(binding.getRoot(), adapter);
- mBinding = binding;
- }
-
- @Override
- public void bind(SettingsItem item)
- {
- mFilePicker = (FilePicker) item;
- mItem = item;
-
- String path = mFilePicker.getSelectedValue();
-
- if (FileBrowserHelper.isPathEmptyOrValid(path))
- {
- itemView.setBackground(mBinding.getRoot().getBackground());
- }
- else
- {
- itemView.setBackgroundResource(R.drawable.invalid_setting_background);
- }
-
- mBinding.textSettingName.setText(item.getName());
-
- if (!TextUtils.isEmpty(item.getDescription()))
- {
- mBinding.textSettingDescription.setText(item.getDescription());
- }
- else
- {
- if (TextUtils.isEmpty(path))
- {
- String defaultPathRelative = mFilePicker.getDefaultPathRelativeToUserDirectory();
- if (defaultPathRelative != null)
- {
- path = DirectoryInitialization.getUserDirectory() + defaultPathRelative;
- }
- }
-
- mBinding.textSettingDescription.setText(path);
- }
-
- setStyle(mBinding.textSettingName, mItem);
- }
-
- @Override
- public void onClick(View clicked)
- {
- if (!mItem.isEditable())
- {
- showNotRuntimeEditableError();
- return;
- }
-
- int position = getBindingAdapterPosition();
- if (mFilePicker.getRequestType() == MainPresenter.REQUEST_DIRECTORY)
- {
- getAdapter().onFilePickerDirectoryClick(mItem, position);
- }
- else
- {
- getAdapter().onFilePickerFileClick(mItem, position);
- }
-
- setStyle(mBinding.textSettingName, mItem);
- }
-
- @Nullable @Override
- protected SettingsItem getItem()
- {
- return mItem;
- }
-}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.kt
new file mode 100644
index 0000000000..215615828e
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.kt
@@ -0,0 +1,68 @@
+// 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.R
+import org.dolphinemu.dolphinemu.databinding.ListItemSettingBinding
+import org.dolphinemu.dolphinemu.features.settings.model.view.FilePicker
+import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem
+import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter
+import org.dolphinemu.dolphinemu.ui.main.MainPresenter
+import org.dolphinemu.dolphinemu.utils.DirectoryInitialization
+import org.dolphinemu.dolphinemu.utils.FileBrowserHelper
+
+class FilePickerViewHolder(
+ private val binding: ListItemSettingBinding,
+ adapter: SettingsAdapter?
+) : SettingViewHolder(binding.getRoot(), adapter!!) {
+ lateinit var setting: FilePicker
+
+ override val item: SettingsItem
+ get() = setting
+
+ override fun bind(item: SettingsItem) {
+ setting = item as FilePicker
+
+ var path = setting.getSelectedValue()
+
+ if (FileBrowserHelper.isPathEmptyOrValid(path)) {
+ itemView.background = binding.getRoot().background
+ } else {
+ itemView.setBackgroundResource(R.drawable.invalid_setting_background)
+ }
+
+ binding.textSettingName.text = setting.name
+
+ if (!TextUtils.isEmpty(setting.description)) {
+ binding.textSettingDescription.text = setting.description
+ } else {
+ if (TextUtils.isEmpty(path)) {
+ val defaultPathRelative = setting.defaultPathRelativeToUserDirectory
+ if (defaultPathRelative != null) {
+ path = DirectoryInitialization.getUserDirectory() + defaultPathRelative
+ }
+ }
+ binding.textSettingDescription.text = path
+ }
+
+ setStyle(binding.textSettingName, setting)
+ }
+
+ override fun onClick(clicked: View) {
+ if (!setting.isEditable) {
+ showNotRuntimeEditableError()
+ return
+ }
+
+ val position = bindingAdapterPosition
+ if (setting.requestType == MainPresenter.REQUEST_DIRECTORY) {
+ adapter.onFilePickerDirectoryClick(setting, position)
+ } else {
+ adapter.onFilePickerFileClick(setting, position)
+ }
+
+ setStyle(binding.textSettingName, setting)
+ }
+}