Android: Convert AlertDialogItemsBuilder to Kotlin

This commit is contained in:
Simonx22 2026-02-27 15:06:12 -05:00
parent f898d75bf3
commit a7bb03b6f0
2 changed files with 26 additions and 42 deletions

View File

@ -1,42 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.utils;
import android.content.Context;
import android.content.DialogInterface.OnClickListener;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.ArrayList;
public class AlertDialogItemsBuilder
{
private Context mContext;
private ArrayList<CharSequence> mLabels = new ArrayList<>();
private ArrayList<OnClickListener> mListeners = new ArrayList<>();
public AlertDialogItemsBuilder(Context context)
{
mContext = context;
}
public void add(int stringId, OnClickListener listener)
{
mLabels.add(mContext.getResources().getString(stringId));
mListeners.add(listener);
}
public void add(CharSequence label, OnClickListener listener)
{
mLabels.add(label);
mListeners.add(listener);
}
public void applyToBuilder(MaterialAlertDialogBuilder builder)
{
CharSequence[] labels = new CharSequence[mLabels.size()];
labels = mLabels.toArray(labels);
builder.setItems(labels, (dialog, i) -> mListeners.get(i).onClick(dialog, i));
}
}

View File

@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-or-later
package org.dolphinemu.dolphinemu.utils
import android.content.Context
import android.content.DialogInterface.OnClickListener
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class AlertDialogItemsBuilder(private val context: Context) {
private val labels = ArrayList<CharSequence>()
private val listeners = ArrayList<OnClickListener>()
fun add(stringId: Int, listener: OnClickListener) {
labels.add(context.resources.getString(stringId))
listeners.add(listener)
}
fun add(label: CharSequence, listener: OnClickListener) {
labels.add(label)
listeners.add(listener)
}
fun applyToBuilder(builder: MaterialAlertDialogBuilder) {
builder.setItems(labels.toTypedArray()) { dialog, i -> listeners[i].onClick(dialog, i) }
}
}