diff options
| author | Daniel Peukert <daniel@peukert.cc> | 2025-01-12 10:52:58 +0100 |
|---|---|---|
| committer | Daniel Peukert <daniel@peukert.cc> | 2025-01-12 11:06:04 +0100 |
| commit | f28e134c88ecbd30eed89606bca3c348047a3009 (patch) | |
| tree | b6b838b1751719f6a48ca14d9fcac3e4c407023b /Source/Android | |
| parent | 93fc5c02ac6df9db9e478d56145dbe96581b36ca (diff) | |
Clean up CRLF line endings
Diffstat (limited to 'Source/Android')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt | 264 | ||||
| -rw-r--r-- | Source/Android/app/src/main/res/layout/dialog_create_skylander.xml | 144 |
2 files changed, 204 insertions, 204 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt index aa4157a54b..295d1abf1a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt @@ -1,132 +1,132 @@ -// SPDX-License-Identifier: GPL-2.0-or-later
-
-package org.dolphinemu.dolphinemu.features.skylanders.ui
-
-import android.app.AlertDialog
-import android.content.Intent
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.AdapterView
-import android.widget.AdapterView.OnItemClickListener
-import android.widget.ArrayAdapter
-import android.widget.Toast
-import androidx.recyclerview.widget.RecyclerView
-import com.google.android.material.dialog.MaterialAlertDialogBuilder
-import org.dolphinemu.dolphinemu.R
-import org.dolphinemu.dolphinemu.activities.EmulationActivity
-import org.dolphinemu.dolphinemu.databinding.DialogCreateSkylanderBinding
-import org.dolphinemu.dolphinemu.databinding.ListItemNfcFigureSlotBinding
-import org.dolphinemu.dolphinemu.features.skylanders.SkylanderConfig
-import org.dolphinemu.dolphinemu.features.skylanders.SkylanderConfig.removeSkylander
-import org.dolphinemu.dolphinemu.features.skylanders.model.SkylanderPair
-
-class SkylanderSlotAdapter(
- private val slots: List<SkylanderSlot>,
- private val activity: EmulationActivity
-) : RecyclerView.Adapter<SkylanderSlotAdapter.ViewHolder>(), OnItemClickListener {
- class ViewHolder(var binding: ListItemNfcFigureSlotBinding) :
- RecyclerView.ViewHolder(binding.getRoot())
-
- private lateinit var binding: DialogCreateSkylanderBinding
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- val inflater = LayoutInflater.from(parent.context)
- val binding = ListItemNfcFigureSlotBinding.inflate(inflater, parent, false)
- return ViewHolder(binding)
- }
-
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val slot = slots[position]
- holder.binding.textFigureName.text = slot.label
-
- holder.binding.buttonClearFigure.setOnClickListener {
- removeSkylander(slot.portalSlot)
- activity.clearSkylander(slot.slotNum)
- }
-
- holder.binding.buttonLoadFigure.setOnClickListener {
- val loadSkylander = Intent(Intent.ACTION_OPEN_DOCUMENT)
- loadSkylander.addCategory(Intent.CATEGORY_OPENABLE)
- loadSkylander.type = "*/*"
- activity.setSkylanderData(0, 0, "", position)
- activity.startActivityForResult(
- loadSkylander,
- EmulationActivity.REQUEST_SKYLANDER_FILE
- )
- }
-
- val inflater = LayoutInflater.from(activity)
- binding = DialogCreateSkylanderBinding.inflate(inflater)
-
- val nameList = SkylanderConfig.REVERSE_LIST_SKYLANDERS.keys.toMutableList()
- nameList.sort()
- val skylanderNames: ArrayList<String> = ArrayList(nameList)
-
- binding.skylanderDropdown.setAdapter(
- ArrayAdapter(
- activity, R.layout.support_simple_spinner_dropdown_item,
- skylanderNames
- )
- )
- binding.skylanderDropdown.onItemClickListener = this
-
- holder.binding.buttonCreateFigure.setOnClickListener {
- if (binding.getRoot().parent != null) {
- (binding.getRoot().parent as ViewGroup).removeAllViews()
- }
- val createDialog = MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.create_skylander_title)
- .setView(binding.getRoot())
- .setPositiveButton(R.string.create_figure, null)
- .setNegativeButton(R.string.cancel, null)
- .show()
- createDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
- if (binding.skylanderId.text.toString().isNotBlank() &&
- binding.skylanderVar.text.toString().isNotBlank()
- ) {
- val createSkylander = Intent(Intent.ACTION_CREATE_DOCUMENT)
- createSkylander.addCategory(Intent.CATEGORY_OPENABLE)
- createSkylander.type = "*/*"
- val id = binding.skylanderId.text.toString().toInt()
- val variant = binding.skylanderVar.text.toString().toInt()
- val name = SkylanderConfig.LIST_SKYLANDERS[SkylanderPair(id, variant)]
- if (name != null) {
- createSkylander.putExtra(
- Intent.EXTRA_TITLE,
- "$name.sky"
- )
- activity.setSkylanderData(id, variant, name, position)
- } else {
- createSkylander.putExtra(
- Intent.EXTRA_TITLE,
- "Unknown(ID: " + id + "Variant: " + variant + ").sky"
- )
- activity.setSkylanderData(id, variant, "Unknown", position)
- }
- activity.startActivityForResult(
- createSkylander,
- EmulationActivity.REQUEST_CREATE_SKYLANDER
- )
- createDialog.dismiss()
- } else {
- Toast.makeText(
- activity, R.string.invalid_skylander,
- Toast.LENGTH_SHORT
- ).show()
- }
- }
- }
- }
-
- override fun getItemCount(): Int {
- return slots.size
- }
-
- override fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) {
- val skylanderIdVar =
- SkylanderConfig.REVERSE_LIST_SKYLANDERS[parent.getItemAtPosition(position)]
- binding.skylanderId.setText(skylanderIdVar!!.id.toString())
- binding.skylanderVar.setText(skylanderIdVar.variant.toString())
- }
-}
+// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.skylanders.ui + +import android.app.AlertDialog +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.AdapterView.OnItemClickListener +import android.widget.ArrayAdapter +import android.widget.Toast +import androidx.recyclerview.widget.RecyclerView +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import org.dolphinemu.dolphinemu.R +import org.dolphinemu.dolphinemu.activities.EmulationActivity +import org.dolphinemu.dolphinemu.databinding.DialogCreateSkylanderBinding +import org.dolphinemu.dolphinemu.databinding.ListItemNfcFigureSlotBinding +import org.dolphinemu.dolphinemu.features.skylanders.SkylanderConfig +import org.dolphinemu.dolphinemu.features.skylanders.SkylanderConfig.removeSkylander +import org.dolphinemu.dolphinemu.features.skylanders.model.SkylanderPair + +class SkylanderSlotAdapter( + private val slots: List<SkylanderSlot>, + private val activity: EmulationActivity +) : RecyclerView.Adapter<SkylanderSlotAdapter.ViewHolder>(), OnItemClickListener { + class ViewHolder(var binding: ListItemNfcFigureSlotBinding) : + RecyclerView.ViewHolder(binding.getRoot()) + + private lateinit var binding: DialogCreateSkylanderBinding + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val inflater = LayoutInflater.from(parent.context) + val binding = ListItemNfcFigureSlotBinding.inflate(inflater, parent, false) + return ViewHolder(binding) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val slot = slots[position] + holder.binding.textFigureName.text = slot.label + + holder.binding.buttonClearFigure.setOnClickListener { + removeSkylander(slot.portalSlot) + activity.clearSkylander(slot.slotNum) + } + + holder.binding.buttonLoadFigure.setOnClickListener { + val loadSkylander = Intent(Intent.ACTION_OPEN_DOCUMENT) + loadSkylander.addCategory(Intent.CATEGORY_OPENABLE) + loadSkylander.type = "*/*" + activity.setSkylanderData(0, 0, "", position) + activity.startActivityForResult( + loadSkylander, + EmulationActivity.REQUEST_SKYLANDER_FILE + ) + } + + val inflater = LayoutInflater.from(activity) + binding = DialogCreateSkylanderBinding.inflate(inflater) + + val nameList = SkylanderConfig.REVERSE_LIST_SKYLANDERS.keys.toMutableList() + nameList.sort() + val skylanderNames: ArrayList<String> = ArrayList(nameList) + + binding.skylanderDropdown.setAdapter( + ArrayAdapter( + activity, R.layout.support_simple_spinner_dropdown_item, + skylanderNames + ) + ) + binding.skylanderDropdown.onItemClickListener = this + + holder.binding.buttonCreateFigure.setOnClickListener { + if (binding.getRoot().parent != null) { + (binding.getRoot().parent as ViewGroup).removeAllViews() + } + val createDialog = MaterialAlertDialogBuilder(activity) + .setTitle(R.string.create_skylander_title) + .setView(binding.getRoot()) + .setPositiveButton(R.string.create_figure, null) + .setNegativeButton(R.string.cancel, null) + .show() + createDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { + if (binding.skylanderId.text.toString().isNotBlank() && + binding.skylanderVar.text.toString().isNotBlank() + ) { + val createSkylander = Intent(Intent.ACTION_CREATE_DOCUMENT) + createSkylander.addCategory(Intent.CATEGORY_OPENABLE) + createSkylander.type = "*/*" + val id = binding.skylanderId.text.toString().toInt() + val variant = binding.skylanderVar.text.toString().toInt() + val name = SkylanderConfig.LIST_SKYLANDERS[SkylanderPair(id, variant)] + if (name != null) { + createSkylander.putExtra( + Intent.EXTRA_TITLE, + "$name.sky" + ) + activity.setSkylanderData(id, variant, name, position) + } else { + createSkylander.putExtra( + Intent.EXTRA_TITLE, + "Unknown(ID: " + id + "Variant: " + variant + ").sky" + ) + activity.setSkylanderData(id, variant, "Unknown", position) + } + activity.startActivityForResult( + createSkylander, + EmulationActivity.REQUEST_CREATE_SKYLANDER + ) + createDialog.dismiss() + } else { + Toast.makeText( + activity, R.string.invalid_skylander, + Toast.LENGTH_SHORT + ).show() + } + } + } + } + + override fun getItemCount(): Int { + return slots.size + } + + override fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) { + val skylanderIdVar = + SkylanderConfig.REVERSE_LIST_SKYLANDERS[parent.getItemAtPosition(position)] + binding.skylanderId.setText(skylanderIdVar!!.id.toString()) + binding.skylanderVar.setText(skylanderIdVar.variant.toString()) + } +} diff --git a/Source/Android/app/src/main/res/layout/dialog_create_skylander.xml b/Source/Android/app/src/main/res/layout/dialog_create_skylander.xml index b367fbb278..7a3513a6ca 100644 --- a/Source/Android/app/src/main/res/layout/dialog_create_skylander.xml +++ b/Source/Android/app/src/main/res/layout/dialog_create_skylander.xml @@ -1,72 +1,72 @@ -<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/root"
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:padding="@dimen/spacing_medlarge">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/layout_skylander_dropdown"
- style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingBottom="@dimen/spacing_medlarge"
- android:paddingHorizontal="@dimen/spacing_medlarge"
- android:hint="@string/skylander_label"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <com.google.android.material.textfield.MaterialAutoCompleteTextView
- android:id="@+id/skylander_dropdown"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:spinnerMode="dialog"
- android:imeOptions="actionDone" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- app:layout_constraintTop_toBottomOf="@+id/layout_skylander_dropdown"
- android:gravity="center_vertical"
- android:baselineAligned="false">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/layout_skylander_id"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:hint="@string/skylander_id"
- android:paddingHorizontal="@dimen/spacing_medlarge">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/skylander_id"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="number" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/layout_skylander_var"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:hint="@string/skylander_variant"
- android:paddingHorizontal="@dimen/spacing_medlarge">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/skylander_var"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="number" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/root" + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:padding="@dimen/spacing_medlarge"> + + <com.google.android.material.textfield.TextInputLayout + android:id="@+id/layout_skylander_dropdown" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="@dimen/spacing_medlarge" + android:paddingHorizontal="@dimen/spacing_medlarge" + android:hint="@string/skylander_label" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <com.google.android.material.textfield.MaterialAutoCompleteTextView + android:id="@+id/skylander_dropdown" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:spinnerMode="dialog" + android:imeOptions="actionDone" /> + + </com.google.android.material.textfield.TextInputLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + app:layout_constraintTop_toBottomOf="@+id/layout_skylander_dropdown" + android:gravity="center_vertical" + android:baselineAligned="false"> + + <com.google.android.material.textfield.TextInputLayout + android:id="@+id/layout_skylander_id" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:hint="@string/skylander_id" + android:paddingHorizontal="@dimen/spacing_medlarge"> + + <com.google.android.material.textfield.TextInputEditText + android:id="@+id/skylander_id" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:inputType="number" /> + + </com.google.android.material.textfield.TextInputLayout> + + <com.google.android.material.textfield.TextInputLayout + android:id="@+id/layout_skylander_var" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:hint="@string/skylander_variant" + android:paddingHorizontal="@dimen/spacing_medlarge"> + + <com.google.android.material.textfield.TextInputEditText + android:id="@+id/skylander_var" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:inputType="number" /> + + </com.google.android.material.textfield.TextInputLayout> + + </LinearLayout> + +</androidx.constraintlayout.widget.ConstraintLayout> |
