diff options
| author | JosJuice <josjuice@gmail.com> | 2021-09-18 12:14:55 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2021-09-18 12:35:46 +0200 |
| commit | a3ce8d61fd1854ecff5b89d673edde2b21b7d43b (patch) | |
| tree | 1e4d64dc76ba2eb67962c56646dac13a52dc4d46 /Source/Android/app/src/main/java | |
| parent | d14d7595f2180d8381e70d2b799e6f89b5eaa5c0 (diff) | |
Android: Show confirmation dialog for clearing game settings
Diffstat (limited to 'Source/Android/app/src/main/java')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GamePropertiesDialog.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GamePropertiesDialog.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GamePropertiesDialog.java index 8a92ffba28..e0340139f2 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GamePropertiesDialog.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GamePropertiesDialog.java @@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.dialogs; import android.app.Dialog; +import android.content.Context; import android.os.Bundle; import android.widget.Toast; @@ -10,6 +11,7 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; +import org.dolphinemu.dolphinemu.DolphinApplication; import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.activities.ConvertActivity; import org.dolphinemu.dolphinemu.features.cheats.ui.CheatsActivity; @@ -99,7 +101,7 @@ public class GamePropertiesDialog extends DialogFragment CheatsActivity.launch(getContext(), gameId, gameTdbId, revision, isWii)); itemsBuilder.add(R.string.properties_clear_game_settings, (dialog, i) -> - clearGameSettings(gameId)); + clearGameSettingsWithConfirmation(gameId)); AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(), R.style.DolphinDialogBase); @@ -109,8 +111,19 @@ public class GamePropertiesDialog extends DialogFragment return builder.create(); } - private void clearGameSettings(String gameId) + private void clearGameSettingsWithConfirmation(String gameId) { + new AlertDialog.Builder(requireContext(), R.style.DolphinDialogBase) + .setTitle(R.string.properties_clear_game_settings) + .setMessage(R.string.properties_clear_game_settings_confirmation) + .setPositiveButton(R.string.yes, (dialog, i) -> clearGameSettings(gameId)) + .setNegativeButton(R.string.no, null) + .show(); + } + + private static void clearGameSettings(String gameId) + { + Context context = DolphinApplication.getAppContext(); String gameSettingsPath = DirectoryInitialization.getUserDirectory() + "/GameSettings/" + gameId + ".ini"; String gameProfilesPath = DirectoryInitialization.getUserDirectory() + "/Config/Profiles/"; @@ -122,24 +135,24 @@ public class GamePropertiesDialog extends DialogFragment { if (gameSettingsFile.delete() || hadGameProfiles) { - Toast.makeText(getContext(), - getResources().getString(R.string.properties_clear_success, gameId), + Toast.makeText(context, + context.getResources().getString(R.string.properties_clear_success, gameId), Toast.LENGTH_SHORT).show(); } else { - Toast.makeText(getContext(), - getResources().getString(R.string.properties_clear_failure, gameId), + Toast.makeText(context, + context.getResources().getString(R.string.properties_clear_failure, gameId), Toast.LENGTH_SHORT).show(); } } else { - Toast.makeText(getContext(), R.string.properties_clear_missing, Toast.LENGTH_SHORT).show(); + Toast.makeText(context, R.string.properties_clear_missing, Toast.LENGTH_SHORT).show(); } } - private boolean recursivelyDeleteGameProfiles(@NonNull final File file, String gameId) + private static boolean recursivelyDeleteGameProfiles(@NonNull final File file, String gameId) { boolean hadGameProfiles = false; |
