diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/collections/CollectionDetailFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/collections/CollectionDetailFragment.java index d73e0d6..e8e4d25 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/collections/CollectionDetailFragment.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/collections/CollectionDetailFragment.java @@ -138,8 +138,7 @@ public class CollectionDetailFragment extends MCFragment { String[] options = new String[]{ getString(R.string.action_add_monster), getString(R.string.action_create_monster), - getString(R.string.action_import_monster_from_url), - getString(R.string.action_import_monster_from_file) + getString(R.string.action_import) }; new AlertDialog.Builder(requireContext()) .setTitle(R.string.title_collection_actions) @@ -149,9 +148,7 @@ public class CollectionDetailFragment extends MCFragment { } else if (which == 1) { createNewMonster(); } else if (which == 2) { - showImportUrlDialog(); - } else if (which == 3) { - importMonsterFromFile(); + showImportDialog(); } }) .setNegativeButton(R.string.dialog_cancel, null) diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardFragment.java index 64b01c2..f247b7f 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardFragment.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardFragment.java @@ -151,8 +151,7 @@ public class DashboardFragment extends MCFragment { getString(R.string.action_add_single_monster), getString(R.string.action_add_collection_option), getString(R.string.action_create_monster), - getString(R.string.action_import_monster_from_url), - getString(R.string.action_import_monster_from_file) + getString(R.string.action_import) }; new AlertDialog.Builder(requireContext()) .setTitle(R.string.title_dashboard_actions) @@ -164,9 +163,7 @@ public class DashboardFragment extends MCFragment { } else if (which == 2) { createNewMonster(); } else if (which == 3) { - showImportUrlDialog(); - } else if (which == 4) { - importMonsterFromFile(); + showImportDialog(); } }) .setNegativeButton(R.string.dialog_cancel, null) diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java index a10b683..623f17a 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java @@ -76,11 +76,8 @@ public class LibraryFragment extends MCFragment { @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { - if (item.getItemId() == R.id.menu_action_import_from_url) { - showImportUrlDialog(); - return true; - } else if (item.getItemId() == R.id.menu_action_import_from_file) { - importMonsterFromFile(); + if (item.getItemId() == R.id.menu_action_import) { + showImportDialog(); return true; } else if (item.getItemId() == R.id.menu_action_export_library) { exportLibrary(); @@ -188,8 +185,7 @@ public class LibraryFragment extends MCFragment { private void showLibraryFabOptionsDialog() { String[] options = new String[]{ getString(R.string.action_create_monster), - getString(R.string.action_import_monster_from_url), - getString(R.string.action_import_monster_from_file) + getString(R.string.action_import) }; new AlertDialog.Builder(requireContext()) .setTitle(R.string.title_library_actions) @@ -197,9 +193,7 @@ public class LibraryFragment extends MCFragment { if (which == 0) { createNewMonster(); } else if (which == 1) { - showImportUrlDialog(); - } else if (which == 2) { - importMonsterFromFile(); + showImportDialog(); } }) .setNegativeButton(R.string.dialog_cancel, null) diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/shared/MCFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/shared/MCFragment.java index b65b202..2f5634d 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/shared/MCFragment.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/shared/MCFragment.java @@ -114,16 +114,17 @@ public class MCFragment extends Fragment { importMonsterFromFile(); } - public void showImportUrlDialog() { + public void showImportDialog() { Context context = requireContext(); AlertDialog.Builder builder = new AlertDialog.Builder(context); - builder.setTitle(R.string.dialog_import_url_title); - builder.setMessage(R.string.dialog_import_url_message); + builder.setTitle(R.string.dialog_import_title); - final EditText input = new EditText(context); - input.setHint(R.string.dialog_import_url_hint); - input.setSingleLine(true); + View view = getLayoutInflater().inflate(R.layout.dialog_import, null); + builder.setView(view); + AlertDialog dialog = builder.create(); + + final EditText input = view.findViewById(R.id.edit_text_url); ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); if (clipboard != null && clipboard.hasPrimaryClip()) { ClipData clip = clipboard.getPrimaryClip(); @@ -139,20 +140,22 @@ public class MCFragment extends Fragment { } } - builder.setView(input); - - builder.setPositiveButton(R.string.dialog_import, (dialog, which) -> { + view.findViewById(R.id.button_import_url).setOnClickListener(v -> { String urlOrId = input.getText().toString().trim(); if (!urlOrId.isEmpty()) { if (getActivity() instanceof MainActivity) { ((MainActivity) getActivity()).importMonsterFromInputAndNavigate(urlOrId); } } + dialog.dismiss(); }); - builder.setNegativeButton(R.string.dialog_cancel, (dialog, which) -> dialog.cancel()); + view.findViewById(R.id.button_import_file).setOnClickListener(v -> { + importMonsterFromFile(); + dialog.dismiss(); + }); - builder.show(); + dialog.show(); } public void createNewMonster() { diff --git a/Android/app/src/main/res/layout/dialog_import.xml b/Android/app/src/main/res/layout/dialog_import.xml new file mode 100644 index 0000000..d1de088 --- /dev/null +++ b/Android/app/src/main/res/layout/dialog_import.xml @@ -0,0 +1,43 @@ + + + + + + + +