From 21fb6ddf951252f411cc0dc61cf27dba0f9a55d0 Mon Sep 17 00:00:00 2001 From: cyberarm Date: Tue, 25 Aug 2020 09:38:23 -0500 Subject: [PATCH] Added error sound file, Actions and Variables can now be deleted --- .../ui/editor/ActionsFragment.java | 33 ++++++++++++++++++ .../ui/editor/VariablesFragment.java | 33 ++++++++++++++++++ app/src/main/res/raw/error_alarm.ogg | Bin 0 -> 5896 bytes 3 files changed, 66 insertions(+) create mode 100644 app/src/main/res/raw/error_alarm.ogg diff --git a/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/ActionsFragment.java b/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/ActionsFragment.java index a911222..d90840f 100644 --- a/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/ActionsFragment.java +++ b/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/ActionsFragment.java @@ -24,9 +24,14 @@ import org.timecrafters.TimeCraftersConfigurationTool.backend.Config; import org.timecrafters.TimeCraftersConfigurationTool.backend.config.Action; import org.timecrafters.TimeCraftersConfigurationTool.backend.config.Group; import org.timecrafters.TimeCraftersConfigurationTool.dialogs.ActionDialog; +import org.timecrafters.TimeCraftersConfigurationTool.dialogs.ConfirmationDialog; +import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog; +import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialogRunnable; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersFragment; public class ActionsFragment extends TimeCraftersFragment { + final private String deleteActionKey = "delete_action"; + private Config config; private Group group; private LinearLayout container; @@ -120,6 +125,34 @@ public class ActionsFragment extends TimeCraftersFragment { } }); + delete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ConfirmationDialog dialog = new ConfirmationDialog(); + Bundle bundle = new Bundle(); + + bundle.putString("message", "Delete action " + action.name + "?"); + bundle.putString("action", deleteActionKey); + dialog.setArguments(bundle); + final TimeCraftersDialogRunnable actionRunner = new TimeCraftersDialogRunnable() { + @Override + public void run(TimeCraftersDialog dialog) { + group.getActions().remove(action); + Backend.instance().configChanged(); + Backend.getStorage().remove(deleteActionKey); + + ActionsFragment fragment = (ActionsFragment) dialog.getFragmentManager().getPrimaryNavigationFragment(); + if (fragment != null) { + fragment.populateActions(); + } + } + }; + Backend.getStorage().put(deleteActionKey, actionRunner); + + dialog.show(getFragmentManager(), deleteActionKey); + } + }); + i++; container.addView(view); } diff --git a/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/VariablesFragment.java b/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/VariablesFragment.java index 3a5786e..1f5ce0a 100644 --- a/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/VariablesFragment.java +++ b/app/src/main/java/org/timecrafters/TimeCraftersConfigurationTool/ui/editor/VariablesFragment.java @@ -20,11 +20,16 @@ import org.timecrafters.TimeCraftersConfigurationTool.backend.Config; import org.timecrafters.TimeCraftersConfigurationTool.backend.config.Action; import org.timecrafters.TimeCraftersConfigurationTool.backend.config.Group; import org.timecrafters.TimeCraftersConfigurationTool.backend.config.Variable; +import org.timecrafters.TimeCraftersConfigurationTool.dialogs.ConfirmationDialog; import org.timecrafters.TimeCraftersConfigurationTool.dialogs.VariableDialog; +import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog; +import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialogRunnable; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersFragment; public class VariablesFragment extends TimeCraftersFragment { final private String TAG = "VariablesFragment"; + final private String deleteActionKey = "delete_variable"; + private Config config; private LinearLayout container; @@ -97,6 +102,34 @@ public class VariablesFragment extends TimeCraftersFragment { } }); + delete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ConfirmationDialog dialog = new ConfirmationDialog(); + Bundle bundle = new Bundle(); + + bundle.putString("message", "Delete variable " + variable.name + "?"); + bundle.putString("action", deleteActionKey); + dialog.setArguments(bundle); + final TimeCraftersDialogRunnable actionRunner = new TimeCraftersDialogRunnable() { + @Override + public void run(TimeCraftersDialog dialog) { + action.getVariables().remove(variable); + Backend.instance().configChanged(); + Backend.getStorage().remove(deleteActionKey); + + VariablesFragment fragment = (VariablesFragment) dialog.getFragmentManager().getPrimaryNavigationFragment(); + if (fragment != null) { + fragment.populateVariables(); + } + } + }; + Backend.getStorage().put(deleteActionKey, actionRunner); + + dialog.show(getFragmentManager(), deleteActionKey); + } + }); + i++; container.addView(view); } diff --git a/app/src/main/res/raw/error_alarm.ogg b/app/src/main/res/raw/error_alarm.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d795f8ae661e85286494510f4c11543eae1aceb7 GIT binary patch literal 5896 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 jB-Zbn2-!cuKK