Android: Convert RiivolutionAdapter to Kotlin

This commit is contained in:
Charles Lombardo 2023-03-01 14:39:18 -05:00
parent df21663d4c
commit 4045e213ba
2 changed files with 46 additions and 66 deletions

View File

@ -1,66 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.features.riivolution.ui;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import org.dolphinemu.dolphinemu.databinding.ListItemRiivolutionBinding;
import org.dolphinemu.dolphinemu.features.riivolution.model.RiivolutionPatches;
import java.util.ArrayList;
public class RiivolutionAdapter extends RecyclerView.Adapter<RiivolutionViewHolder>
{
private final Context mContext;
private final RiivolutionPatches mPatches;
private final ArrayList<RiivolutionItem> mItems = new ArrayList<>();
public RiivolutionAdapter(Context context, RiivolutionPatches patches)
{
mContext = context;
mPatches = patches;
int discCount = mPatches.getDiscCount();
for (int i = 0; i < discCount; i++)
{
mItems.add(new RiivolutionItem(i));
int sectionCount = mPatches.getSectionCount(i);
for (int j = 0; j < sectionCount; j++)
{
mItems.add(new RiivolutionItem(i, j));
int optionCount = mPatches.getOptionCount(i, j);
for (int k = 0; k < optionCount; k++)
{
mItems.add(new RiivolutionItem(i, j, k));
}
}
}
}
@NonNull @Override
public RiivolutionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
{
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
ListItemRiivolutionBinding binding = ListItemRiivolutionBinding.inflate(inflater);
return new RiivolutionViewHolder(binding.getRoot(), binding);
}
@Override
public void onBindViewHolder(@NonNull RiivolutionViewHolder holder, int position)
{
holder.bind(mContext, mPatches, mItems.get(position));
}
@Override
public int getItemCount()
{
return mItems.size();
}
}

View File

@ -0,0 +1,46 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.features.riivolution.ui
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import org.dolphinemu.dolphinemu.databinding.ListItemRiivolutionBinding
import org.dolphinemu.dolphinemu.features.riivolution.model.RiivolutionPatches
class RiivolutionAdapter(private val context: Context, private val patches: RiivolutionPatches) :
RecyclerView.Adapter<RiivolutionViewHolder>() {
private val items = ArrayList<RiivolutionItem>()
init {
val discCount = patches.getDiscCount()
for (i in 0 until discCount) {
items.add(RiivolutionItem(i))
val sectionCount = patches.getSectionCount(i)
for (j in 0 until sectionCount) {
items.add(RiivolutionItem(i, j))
val optionCount = patches.getOptionCount(i, j)
for (k in 0 until optionCount) {
items.add(RiivolutionItem(i, j, k))
}
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RiivolutionViewHolder {
val inflater = LayoutInflater.from(parent.context)
val binding = ListItemRiivolutionBinding.inflate(inflater)
return RiivolutionViewHolder(binding.root, binding)
}
override fun onBindViewHolder(holder: RiivolutionViewHolder, position: Int) {
holder.bind(context, patches, items[position])
}
override fun getItemCount(): Int {
return items.size
}
}