Browse Source
Merge pull request #13091 from t895/device-renaming
Merge pull request #13091 from t895/device-renaming
android: Expose device name settingnce_cpp
committed by
GitHub
8 changed files with 111 additions and 1 deletions
-
3src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt
-
3src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
-
22src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/StringInputSetting.kt
-
13src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt
-
23src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt
-
2src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
-
45src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt
-
1src/android/app/src/main/res/values/strings.xml
@ -0,0 +1,22 @@ |
|||
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
// SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
package org.yuzu.yuzu_emu.features.settings.model.view |
|||
|
|||
import androidx.annotation.StringRes |
|||
import org.yuzu.yuzu_emu.features.settings.model.AbstractStringSetting |
|||
|
|||
class StringInputSetting( |
|||
setting: AbstractStringSetting, |
|||
@StringRes titleId: Int = 0, |
|||
titleString: String = "", |
|||
@StringRes descriptionId: Int = 0, |
|||
descriptionString: String = "" |
|||
) : SettingsItem(setting, titleId, titleString, descriptionId, descriptionString) { |
|||
override val type = TYPE_STRING_INPUT |
|||
|
|||
fun getSelectedValue(needsGlobal: Boolean = false) = setting.getValueAsString(needsGlobal) |
|||
|
|||
fun setSelectedValue(selection: String) = |
|||
(setting as AbstractStringSetting).setString(selection) |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
// SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
package org.yuzu.yuzu_emu.features.settings.ui.viewholder |
|||
|
|||
import android.view.View |
|||
import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding |
|||
import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem |
|||
import org.yuzu.yuzu_emu.features.settings.model.view.StringInputSetting |
|||
import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter |
|||
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible |
|||
|
|||
class StringInputViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : |
|||
SettingViewHolder(binding.root, adapter) { |
|||
private lateinit var setting: StringInputSetting |
|||
|
|||
override fun bind(item: SettingsItem) { |
|||
setting = item as StringInputSetting |
|||
binding.textSettingName.text = setting.title |
|||
binding.textSettingDescription.setVisible(setting.description.isNotEmpty()) |
|||
binding.textSettingDescription.text = setting.description |
|||
binding.textSettingValue.setVisible(true) |
|||
binding.textSettingValue.text = setting.getSelectedValue() |
|||
|
|||
binding.buttonClear.setVisible(setting.clearable) |
|||
binding.buttonClear.setOnClickListener { |
|||
adapter.onClearClick(setting, bindingAdapterPosition) |
|||
} |
|||
|
|||
setStyle(setting.isEditable, binding) |
|||
} |
|||
|
|||
override fun onClick(clicked: View) { |
|||
if (setting.isEditable) { |
|||
adapter.onStringInputClick(setting, bindingAdapterPosition) |
|||
} |
|||
} |
|||
|
|||
override fun onLongClick(clicked: View): Boolean { |
|||
if (setting.isEditable) { |
|||
return adapter.onLongClick(setting, bindingAdapterPosition) |
|||
} |
|||
return false |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue