Create AddLabelDialogController to manage showing and restoring AddLabelDialog

This commit is contained in:
Phillip Hsu
2016-09-06 19:50:05 -07:00
parent 51469fa282
commit e0ddd0b702
4 changed files with 77 additions and 76 deletions
@@ -11,6 +11,8 @@ import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import com.philliphsu.clock2.AddLabelDialog;
import com.philliphsu.clock2.AddLabelDialogController;
import com.philliphsu.clock2.BaseActivity;
import com.philliphsu.clock2.R;
@@ -20,7 +22,7 @@ import butterknife.OnLongClick;
import butterknife.OnTouch;
// TODO: Rename to CreateTimerActivity
public class EditTimerActivity extends BaseActivity {
public class EditTimerActivity extends BaseActivity implements AddLabelDialog.OnLabelSetListener {
private static final int FIELD_LENGTH = 2;
public static final String EXTRA_HOUR = "com.philliphsu.clock2.edittimer.extra.HOUR";
public static final String EXTRA_MINUTE = "com.philliphsu.clock2.edittimer.extra.MINUTE";
@@ -28,6 +30,8 @@ public class EditTimerActivity extends BaseActivity {
public static final String EXTRA_LABEL = "com.philliphsu.clock2.edittimer.extra.LABEL";
public static final String EXTRA_START_TIMER = "com.philliphsu.clock2.edittimer.extra.START_TIMER";
private AddLabelDialogController mAddLabelDialogController;
@Bind(R.id.edit_fields_layout) ViewGroup mEditFieldsLayout;
@Bind(R.id.label) TextView mLabel;
@Bind(R.id.hour) EditText mHour;
@@ -39,13 +43,14 @@ public class EditTimerActivity extends BaseActivity {
@Bind(R.id.focus_grabber) View mFocusGrabber;
@Bind(R.id.fab) FloatingActionButton mFab;
// Intentionally not using a (subclass of) GridLayoutNumpad, because
// it is expedient to refrain from adapting it for timers.
// it is expedient to not adapt it for timers.
@Bind(R.id.numpad) GridLayout mNumpad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// updateStartButtonVisibility();
mAddLabelDialogController = new AddLabelDialogController(getSupportFragmentManager(), this);
mAddLabelDialogController.tryRestoreCallback();
}
@Override
@@ -64,6 +69,11 @@ public class EditTimerActivity extends BaseActivity {
super.finish();
}
@Override
public void onLabelSet(String label) {
mLabel.setText(label);
}
@OnClick({ R.id.zero, R.id.one, R.id.two, R.id.three, R.id.four,
R.id.five, R.id.six, R.id.seven, R.id.eight, R.id.nine })
void onClick(TextView view) {
@@ -144,7 +154,7 @@ public class EditTimerActivity extends BaseActivity {
@OnClick(R.id.label)
void openEditLabelDialog() {
// TODO: Show the edit label alert dialog.
mAddLabelDialogController.show(mLabel.getText());
}
@OnClick(R.id.fab)
@@ -169,15 +179,4 @@ public class EditTimerActivity extends BaseActivity {
private EditText getFocusedField() {
return (EditText) mEditFieldsLayout.findFocus();
}
// private void updateStartButtonVisibility() {
// // TODO: parse the field's text to an integer and check > 0 instead?
// if (TextUtils.equals(mHour.getText(), "00")
// && TextUtils.equals(mMinute.getText(), "00")
// && TextUtils.equals(mSecond.getText(), "00")) {
// mFab.hide();
// } else {
// mFab.show();
// }
// }
}