From f77b6e48dd0346240300498cbed992aab3e14cbc Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 5 Jun 2020 09:54:58 -0500 Subject: [PATCH] Convert LocalePickerDialog to Kotlin --- .../org/tasks/locale/LocalePickerDialog.java | 55 ------------------- .../org/tasks/locale/LocalePickerDialog.kt | 45 +++++++++++++++ 2 files changed, 45 insertions(+), 55 deletions(-) delete mode 100644 app/src/main/java/org/tasks/locale/LocalePickerDialog.java create mode 100644 app/src/main/java/org/tasks/locale/LocalePickerDialog.kt diff --git a/app/src/main/java/org/tasks/locale/LocalePickerDialog.java b/app/src/main/java/org/tasks/locale/LocalePickerDialog.java deleted file mode 100644 index 5a0364423..000000000 --- a/app/src/main/java/org/tasks/locale/LocalePickerDialog.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.tasks.locale; - -import static android.app.Activity.RESULT_OK; -import static com.google.common.collect.Lists.transform; - -import android.app.Dialog; -import android.content.Intent; -import android.os.Bundle; -import java.util.ArrayList; -import java.util.List; -import javax.inject.Inject; -import org.tasks.R; -import org.tasks.dialogs.DialogBuilder; -import org.tasks.injection.DialogFragmentComponent; -import org.tasks.injection.InjectingDialogFragment; - -public class LocalePickerDialog extends InjectingDialogFragment { - - public static final String EXTRA_LOCALE = "extra_locale"; - - @Inject DialogBuilder dialogBuilder; - @Inject Locale locale; - - public static LocalePickerDialog newLocalePickerDialog() { - return new LocalePickerDialog(); - } - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final List locales = new ArrayList<>(); - locales.add(locale.withLanguage(null)); // device locale - for (String override : getResources().getStringArray(R.array.localization)) { - locales.add(locale.withLanguage(override)); - } - List display = transform(locales, Locale::getDisplayName); - return dialogBuilder - .newDialog() - .setSingleChoiceItems( - display, - display.indexOf(locale.getDisplayName()), - (dialogInterface, i) -> { - Locale locale = locales.get(i); - Intent data = new Intent().putExtra(EXTRA_LOCALE, locale); - getTargetFragment().onActivityResult(getTargetRequestCode(), RESULT_OK, data); - dialogInterface.dismiss(); - }) - .setNegativeButton(android.R.string.cancel, null) - .show(); - } - - @Override - protected void inject(DialogFragmentComponent component) { - component.inject(this); - } -} diff --git a/app/src/main/java/org/tasks/locale/LocalePickerDialog.kt b/app/src/main/java/org/tasks/locale/LocalePickerDialog.kt new file mode 100644 index 000000000..25b2486e8 --- /dev/null +++ b/app/src/main/java/org/tasks/locale/LocalePickerDialog.kt @@ -0,0 +1,45 @@ +package org.tasks.locale + +import android.app.Activity +import android.app.Dialog +import android.content.Intent +import android.os.Bundle +import org.tasks.R +import org.tasks.dialogs.DialogBuilder +import org.tasks.injection.DialogFragmentComponent +import org.tasks.injection.InjectingDialogFragment +import java.util.* +import javax.inject.Inject + +class LocalePickerDialog : InjectingDialogFragment() { + @Inject lateinit var dialogBuilder: DialogBuilder + @Inject lateinit var locale: Locale + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val locales = ArrayList() + locales.add(locale.withLanguage(null)) // device locale + for (override in resources.getStringArray(R.array.localization)) { + locales.add(locale.withLanguage(override)) + } + val display = locales.map(Locale::getDisplayName) + return dialogBuilder + .newDialog() + .setSingleChoiceItems(display, display.indexOf(locale.displayName)) { dialog, which -> + val locale = locales[which] + val data = Intent().putExtra(EXTRA_LOCALE, locale) + targetFragment!!.onActivityResult(targetRequestCode, Activity.RESULT_OK, data) + dialog.dismiss() + } + .setNegativeButton(android.R.string.cancel, null) + .show() + } + + override fun inject(component: DialogFragmentComponent) = component.inject(this) + + companion object { + const val EXTRA_LOCALE = "extra_locale" + fun newLocalePickerDialog(): LocalePickerDialog { + return LocalePickerDialog() + } + } +} \ No newline at end of file