diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.java deleted file mode 100644 index a8e638ad90..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.java +++ /dev/null @@ -1,105 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.features.sysupdate.ui; - -import android.app.Dialog; -import android.os.Bundle; - -import androidx.annotation.NonNull; -import androidx.fragment.app.DialogFragment; -import androidx.lifecycle.ViewModelProvider; - -import com.google.android.material.dialog.MaterialAlertDialogBuilder; - -import org.dolphinemu.dolphinemu.R; -import org.dolphinemu.dolphinemu.utils.WiiUtils; - -public class SystemUpdateResultFragment extends DialogFragment -{ - private int mResult; - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) - { - SystemUpdateViewModel viewModel = - new ViewModelProvider(requireActivity()).get(SystemUpdateViewModel.class); - if (savedInstanceState == null) - { - mResult = viewModel.getResultData().getValue().intValue(); - viewModel.clear(); - } - else - { - mResult = savedInstanceState.getInt("result"); - } - - String message; - switch (mResult) - { - case WiiUtils.UPDATE_RESULT_SUCCESS: - message = getString(R.string.update_success); - break; - case WiiUtils.UPDATE_RESULT_ALREADY_UP_TO_DATE: - message = getString(R.string.already_up_to_date); - break; - case WiiUtils.UPDATE_RESULT_REGION_MISMATCH: - message = getString(R.string.region_mismatch); - break; - case WiiUtils.UPDATE_RESULT_MISSING_UPDATE_PARTITION: - message = getString(R.string.missing_update_partition); - break; - case WiiUtils.UPDATE_RESULT_DISC_READ_FAILED: - message = getString(R.string.disc_read_failed); - break; - case WiiUtils.UPDATE_RESULT_SERVER_FAILED: - message = getString(R.string.server_failed); - break; - case WiiUtils.UPDATE_RESULT_DOWNLOAD_FAILED: - message = getString(R.string.download_failed); - break; - case WiiUtils.UPDATE_RESULT_IMPORT_FAILED: - message = getString(R.string.import_failed); - break; - case WiiUtils.UPDATE_RESULT_CANCELLED: - message = getString(R.string.update_cancelled); - break; - default: - throw new IllegalStateException("Unexpected value: " + mResult); - } - - String title; - switch (mResult) - { - case WiiUtils.UPDATE_RESULT_SUCCESS: - case WiiUtils.UPDATE_RESULT_ALREADY_UP_TO_DATE: - title = getString(R.string.update_success_title); - break; - case WiiUtils.UPDATE_RESULT_REGION_MISMATCH: - case WiiUtils.UPDATE_RESULT_MISSING_UPDATE_PARTITION: - case WiiUtils.UPDATE_RESULT_DISC_READ_FAILED: - case WiiUtils.UPDATE_RESULT_SERVER_FAILED: - case WiiUtils.UPDATE_RESULT_DOWNLOAD_FAILED: - case WiiUtils.UPDATE_RESULT_IMPORT_FAILED: - title = getString(R.string.update_failed_title); - break; - case WiiUtils.UPDATE_RESULT_CANCELLED: - title = getString(R.string.update_cancelled_title); - break; - default: - throw new IllegalStateException("Unexpected value: " + mResult); - } - - return new MaterialAlertDialogBuilder(requireContext()) - .setTitle(title) - .setMessage(message) - .setPositiveButton(R.string.ok, (dialog, which) -> dismiss()) - .create(); - } - - @Override - public void onSaveInstanceState(@NonNull Bundle outState) - { - super.onSaveInstanceState(outState); - outState.putInt("result", mResult); - } -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.kt new file mode 100644 index 0000000000..352e6cd47a --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateResultFragment.kt @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.sysupdate.ui + +import android.app.Dialog +import android.content.DialogInterface +import android.os.Bundle +import androidx.fragment.app.DialogFragment +import androidx.lifecycle.ViewModelProvider +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import org.dolphinemu.dolphinemu.R +import org.dolphinemu.dolphinemu.utils.WiiUtils + +class SystemUpdateResultFragment : DialogFragment() { + private var mResult = 0 + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val viewModel = ViewModelProvider(requireActivity())[SystemUpdateViewModel::class.java] + if (savedInstanceState == null) { + mResult = viewModel.resultData.value!!.toInt() + viewModel.clear() + } else { + mResult = savedInstanceState.getInt("result") + } + val message: String = when (mResult) { + WiiUtils.UPDATE_RESULT_SUCCESS -> getString(R.string.update_success) + WiiUtils.UPDATE_RESULT_ALREADY_UP_TO_DATE -> getString(R.string.already_up_to_date) + WiiUtils.UPDATE_RESULT_REGION_MISMATCH -> getString(R.string.region_mismatch) + WiiUtils.UPDATE_RESULT_MISSING_UPDATE_PARTITION -> getString(R.string.missing_update_partition) + WiiUtils.UPDATE_RESULT_DISC_READ_FAILED -> getString(R.string.disc_read_failed) + WiiUtils.UPDATE_RESULT_SERVER_FAILED -> getString(R.string.server_failed) + WiiUtils.UPDATE_RESULT_DOWNLOAD_FAILED -> getString(R.string.download_failed) + WiiUtils.UPDATE_RESULT_IMPORT_FAILED -> getString(R.string.import_failed) + WiiUtils.UPDATE_RESULT_CANCELLED -> getString(R.string.update_cancelled) + else -> throw IllegalStateException("Unexpected value: $mResult") + } + val title: String = when (mResult) { + WiiUtils.UPDATE_RESULT_SUCCESS, + WiiUtils.UPDATE_RESULT_ALREADY_UP_TO_DATE -> getString(R.string.update_success_title) + WiiUtils.UPDATE_RESULT_REGION_MISMATCH, + WiiUtils.UPDATE_RESULT_MISSING_UPDATE_PARTITION, + WiiUtils.UPDATE_RESULT_DISC_READ_FAILED, + WiiUtils.UPDATE_RESULT_SERVER_FAILED, + WiiUtils.UPDATE_RESULT_DOWNLOAD_FAILED, + WiiUtils.UPDATE_RESULT_IMPORT_FAILED -> getString(R.string.update_failed_title) + WiiUtils.UPDATE_RESULT_CANCELLED -> getString(R.string.update_cancelled_title) + else -> throw IllegalStateException("Unexpected value: $mResult") + } + + return MaterialAlertDialogBuilder(requireContext()) + .setTitle(title) + .setMessage(message) + .setPositiveButton(R.string.ok) { _: DialogInterface?, _: Int -> dismiss() } + .create() + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + outState.putInt("result", mResult) + } +}