From 1a9471d3c79977edd0e7362fc34db2808e4efeca Mon Sep 17 00:00:00 2001 From: Phillip Hsu Date: Tue, 30 Aug 2016 18:50:17 -0700 Subject: [PATCH] Change factory method signature --- .../main/java/com/philliphsu/clock2/AddLabelDialog.java | 7 ++----- .../com/philliphsu/clock2/timers/TimerViewHolder.java | 8 +++++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/philliphsu/clock2/AddLabelDialog.java b/app/src/main/java/com/philliphsu/clock2/AddLabelDialog.java index 7f2c86a..0be651d 100644 --- a/app/src/main/java/com/philliphsu/clock2/AddLabelDialog.java +++ b/app/src/main/java/com/philliphsu/clock2/AddLabelDialog.java @@ -28,8 +28,9 @@ public class AddLabelDialog extends AppCompatDialogFragment { /** * @param text the initial text */ - public static AddLabelDialog newInstance(CharSequence text) { + public static AddLabelDialog newInstance(OnLabelSetListener l, CharSequence text) { AddLabelDialog dialog = new AddLabelDialog(); + dialog.mOnLabelSetListener = l; dialog.mInitialText = text; return dialog; } @@ -61,8 +62,4 @@ public class AddLabelDialog extends AppCompatDialogFragment { }) .create(); } - - public void setOnLabelSetListener(OnLabelSetListener onLabelSetListener) { - mOnLabelSetListener = onLabelSetListener; - } } diff --git a/app/src/main/java/com/philliphsu/clock2/timers/TimerViewHolder.java b/app/src/main/java/com/philliphsu/clock2/timers/TimerViewHolder.java index 1b67ab5..f66b878 100644 --- a/app/src/main/java/com/philliphsu/clock2/timers/TimerViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/timers/TimerViewHolder.java @@ -73,7 +73,13 @@ public class TimerViewHolder extends BaseViewHolder { @OnClick(R.id.label) void openLabelEditor() { - AddLabelDialog dialog = AddLabelDialog.newInstance(mLabel.getText()); + AddLabelDialog dialog = AddLabelDialog.newInstance(new AddLabelDialog.OnLabelSetListener() { + @Override + public void onLabelSet(CharSequence label) { + mLabel.setText(label); + // TODO: persist change. Use TimerController and its update() + } + }, mLabel.getText()); // TODO: This is bad! Use a Controller instead! AppCompatActivity act = (AppCompatActivity) getContext(); dialog.show(act.getSupportFragmentManager(), "TAG");