Custom button labels in confirmation dialog

This commit is contained in:
2016-02-04 12:53:49 -05:00
parent c90cc766a1
commit 9b00e08cd7
5 changed files with 21 additions and 11 deletions

View File

@@ -8,8 +8,8 @@ android {
applicationId "com.wismna.geoffroy.donext" applicationId "com.wismna.geoffroy.donext"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 23 targetSdkVersion 23
versionCode 8 versionCode 9
versionName "0.8" versionName "0.9"
} }
buildTypes { buildTypes {
release { release {

View File

@@ -22,11 +22,11 @@ public class ConfirmDialogFragment extends DialogFragment {
NO NO
} }
private ConfirmDialogListener confirmDialogListener; private ConfirmDialogListener confirmDialogListener;
private String message; //private String message;
public static ConfirmDialogFragment newInstance(String message, ConfirmDialogListener confirmDialogListener) { public static ConfirmDialogFragment newInstance(/*String message, */ConfirmDialogListener confirmDialogListener) {
ConfirmDialogFragment fragment = new ConfirmDialogFragment(); ConfirmDialogFragment fragment = new ConfirmDialogFragment();
fragment.message = message; //fragment.message = message;
fragment.confirmDialogListener = confirmDialogListener; fragment.confirmDialogListener = confirmDialogListener;
return fragment; return fragment;
} }
@@ -44,10 +44,11 @@ public class ConfirmDialogFragment extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
Bundle args = getArguments();
LayoutInflater inflater = getActivity().getLayoutInflater(); LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.fragment_task_confirmation, null); View view = inflater.inflate(R.layout.fragment_task_confirmation, null);
builder.setView(view).setMessage(message) builder.setView(view).setMessage(args.getString("message"))
.setPositiveButton(R.string.task_confirmation_yes_button, new DialogInterface.OnClickListener() { .setPositiveButton(args.getInt("button"), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
confirmDialogListener.onConfirmDialogClick(ConfirmDialogFragment.this, ButtonEvent.YES); confirmDialogListener.onConfirmDialogClick(ConfirmDialogFragment.this, ButtonEvent.YES);
} }

View File

@@ -120,8 +120,10 @@ public class TaskListsFragment extends Fragment implements
if(sharedPref.getBoolean("pref_conf_tasklist_del", true)) { if(sharedPref.getBoolean("pref_conf_tasklist_del", true)) {
String title = getResources().getString(R.string.task_list_confirmation_delete); String title = getResources().getString(R.string.task_list_confirmation_delete);
ConfirmDialogFragment confirmDialogFragment = ConfirmDialogFragment confirmDialogFragment =
ConfirmDialogFragment.newInstance(title, this); ConfirmDialogFragment.newInstance(this);
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString("message", title);
args.putInt("button", R.string.task_confirmation_delete_button);
args.putInt("ItemPosition", position); args.putInt("ItemPosition", position);
args.putLong("ItemId", id); args.putLong("ItemId", id);
confirmDialogFragment.setArguments(args); confirmDialogFragment.setArguments(args);

View File

@@ -346,8 +346,10 @@ public class TasksFragment extends Fragment implements
if (showDialog) { if (showDialog) {
ConfirmDialogFragment confirmDialogFragment = ConfirmDialogFragment confirmDialogFragment =
ConfirmDialogFragment.newInstance(title, this); ConfirmDialogFragment.newInstance(this);
Bundle confirmArgs = new Bundle(); Bundle confirmArgs = new Bundle();
confirmArgs.putString("message", title);
confirmArgs.putInt("button", R.string.task_confirmation_delete_button);
confirmArgs.putInt("ItemPosition", itemPosition); confirmArgs.putInt("ItemPosition", itemPosition);
confirmArgs.putInt("Direction", -1); confirmArgs.putInt("Direction", -1);
confirmDialogFragment.setArguments(confirmArgs); confirmDialogFragment.setArguments(confirmArgs);
@@ -361,6 +363,7 @@ public class TasksFragment extends Fragment implements
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getContext());
String title = ""; String title = "";
boolean showDialog = false; boolean showDialog = false;
int buttonLabel = -1;
switch (direction) switch (direction)
{ {
@@ -368,17 +371,21 @@ public class TasksFragment extends Fragment implements
case ItemTouchHelper.LEFT: case ItemTouchHelper.LEFT:
title = getResources().getString(R.string.task_confirmation_done_text); title = getResources().getString(R.string.task_confirmation_done_text);
showDialog = sharedPref.getBoolean("pref_conf_done", true); showDialog = sharedPref.getBoolean("pref_conf_done", true);
buttonLabel = R.string.task_confirmation_done_button;
break; break;
// Increase task cycle count // Increase task cycle count
case ItemTouchHelper.RIGHT: case ItemTouchHelper.RIGHT:
title = getResources().getString(R.string.task_confirmation_next_text); title = getResources().getString(R.string.task_confirmation_next_text);
showDialog = sharedPref.getBoolean("pref_conf_next", true); showDialog = sharedPref.getBoolean("pref_conf_next", true);
buttonLabel = R.string.task_confirmation_next_button;
break; break;
} }
if (showDialog) { if (showDialog) {
ConfirmDialogFragment confirmDialogFragment = ConfirmDialogFragment confirmDialogFragment =
ConfirmDialogFragment.newInstance(title, this); ConfirmDialogFragment.newInstance(this);
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString("message", title);
args.putInt("button", buttonLabel);
args.putInt("ItemPosition", itemPosition); args.putInt("ItemPosition", itemPosition);
args.putInt("Direction", direction); args.putInt("Direction", direction);
confirmDialogFragment.setArguments(args); confirmDialogFragment.setArguments(args);

View File

@@ -58,7 +58,7 @@
<string name="task_confirmation_next_button">Next</string> <string name="task_confirmation_next_button">Next</string>
<string name="task_confirmation_delete_button">Delete</string> <string name="task_confirmation_delete_button">Delete</string>
<string name="task_confirmation_yes_button">Yes</string> <string name="task_confirmation_yes_button">Yes</string>
<string name="task_confirmation_no_button">No</string> <string name="task_confirmation_no_button">Cancel</string>
<string name="task_confirmation_never_button">Never ask again</string> <string name="task_confirmation_never_button">Never ask again</string>
<!-- Strings related to Settings --> <!-- Strings related to Settings -->