summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-10-03 21:47:04 +0200
committerGitHub <noreply@github.com>2021-10-03 21:47:04 +0200
commit33ffc7aa6666d9b73ad3a45a00354150484f8332 (patch)
tree6792b6f856419fa8e58a33453277d380780aa4a8 /Source/Android/app/src/main/java
parent207c931a04c8e2629a735bc2b3f36b5c89365ca7 (diff)
parent9bb85ca70619f08d9349f798f9c204c08df5b2d9 (diff)
Merge pull request #10146 from JosJuice/nkit-convert-warning
DolphinQt/Android: Add warning when converting NKit files
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/ConvertFragment.java49
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java2
2 files changed, 32 insertions, 19 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/ConvertFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/ConvertFragment.java
index cb0f045a30..d1f09bbd50 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/ConvertFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/ConvertFragment.java
@@ -27,6 +27,7 @@ import java.io.File;
import java.util.ArrayList;
import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
@@ -331,32 +332,42 @@ public class ConvertFragment extends Fragment implements View.OnClickListener
@Override
public void onClick(View view)
{
- Context context = requireContext();
-
boolean scrub = getRemoveJunkData();
- int format = mFormat.getValue(context);
+ int format = mFormat.getValue(requireContext());
- boolean iso_warning = scrub && format == BLOB_TYPE_PLAIN;
- boolean gcz_warning = !scrub && format == BLOB_TYPE_GCZ && !gameFile.isDatelDisc() &&
- gameFile.getPlatform() == Platform.WII.toInt();
+ Runnable action = this::showSavePrompt;
- if (iso_warning || gcz_warning)
+ if (gameFile.isNKit())
{
- AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.DolphinDialogBase);
- builder.setMessage(iso_warning ? R.string.convert_warning_iso : R.string.convert_warning_gcz)
- .setPositiveButton(R.string.yes, (dialog, i) ->
- {
- dialog.dismiss();
- showSavePrompt();
- })
- .setNegativeButton(R.string.no, (dialog, i) -> dialog.dismiss());
- AlertDialog alert = builder.create();
- alert.show();
+ action = addAreYouSureDialog(action, R.string.convert_warning_nkit);
+ }
+
+ if (!scrub && format == BLOB_TYPE_GCZ && !gameFile.isDatelDisc() &&
+ gameFile.getPlatform() == Platform.WII.toInt())
+ {
+ action = addAreYouSureDialog(action, R.string.convert_warning_gcz);
}
- else
+
+ if (scrub && format == BLOB_TYPE_PLAIN)
{
- showSavePrompt();
+ action = addAreYouSureDialog(action, R.string.convert_warning_iso);
}
+
+ action.run();
+ }
+
+ private Runnable addAreYouSureDialog(Runnable action, @StringRes int warning_text)
+ {
+ return () ->
+ {
+ Context context = requireContext();
+ AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.DolphinDialogBase);
+ builder.setMessage(warning_text)
+ .setPositiveButton(R.string.yes, (dialog, i) -> action.run())
+ .setNegativeButton(R.string.no, null);
+ AlertDialog alert = builder.create();
+ alert.show();
+ };
}
private void showSavePrompt()
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java
index 93f6f120b3..b8de619e31 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java
@@ -60,6 +60,8 @@ public class GameFile
public native boolean isDatelDisc();
+ public native boolean isNKit();
+
public native int[] getBanner();
public native int getBannerWidth();