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"
minSdkVersion 15
targetSdkVersion 23
versionCode 8
versionName "0.8"
versionCode 9
versionName "0.9"
}
buildTypes {
release {

View File

@@ -22,11 +22,11 @@ public class ConfirmDialogFragment extends DialogFragment {
NO
}
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();
fragment.message = message;
//fragment.message = message;
fragment.confirmDialogListener = confirmDialogListener;
return fragment;
}
@@ -44,10 +44,11 @@ public class ConfirmDialogFragment extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
Bundle args = getArguments();
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.fragment_task_confirmation, null);
builder.setView(view).setMessage(message)
.setPositiveButton(R.string.task_confirmation_yes_button, new DialogInterface.OnClickListener() {
builder.setView(view).setMessage(args.getString("message"))
.setPositiveButton(args.getInt("button"), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
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)) {
String title = getResources().getString(R.string.task_list_confirmation_delete);
ConfirmDialogFragment confirmDialogFragment =
ConfirmDialogFragment.newInstance(title, this);
ConfirmDialogFragment.newInstance(this);
Bundle args = new Bundle();
args.putString("message", title);
args.putInt("button", R.string.task_confirmation_delete_button);
args.putInt("ItemPosition", position);
args.putLong("ItemId", id);
confirmDialogFragment.setArguments(args);

View File

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

View File

@@ -58,7 +58,7 @@
<string name="task_confirmation_next_button">Next</string>
<string name="task_confirmation_delete_button">Delete</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>
<!-- Strings related to Settings -->