Create onTimeSet() API for subclasses of BaseTimePickerDialog instead of letting them access mCallback directly

This commit is contained in:
Phillip Hsu 2016-09-07 17:15:41 -07:00
parent 022153fec1
commit f3aa9e8ed4
3 changed files with 12 additions and 14 deletions

View File

@ -16,9 +16,7 @@ import butterknife.ButterKnife;
public abstract class BaseTimePickerDialog extends BottomSheetDialogFragment { public abstract class BaseTimePickerDialog extends BottomSheetDialogFragment {
private static final String TAG = "BaseTimePickerDialog"; private static final String TAG = "BaseTimePickerDialog";
// TODO: Consider private access, and then writing package/protected API that subclasses private OnTimeSetListener mCallback;
// can use to interface with this field.
/*package*/ OnTimeSetListener mCallback;
/** /**
* The callback interface used to indicate the user is done filling in * The callback interface used to indicate the user is done filling in
@ -75,6 +73,13 @@ public abstract class BaseTimePickerDialog extends BottomSheetDialogFragment {
return view; return view;
} }
protected final void onTimeSet(ViewGroup vg, int hourOfDay, int minute) {
if (mCallback != null) {
mCallback.onTimeSet(vg, hourOfDay, minute);
}
dismiss();
}
// @Override // @Override
// public void onResume() { // public void onResume() {
// super.onResume(); // super.onResume();

View File

@ -237,8 +237,7 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
public void initialize(OnTimeSetListener callback, public void initialize(OnTimeSetListener callback,
int hourOfDay, int minute, boolean is24HourMode) { int hourOfDay, int minute, boolean is24HourMode) {
mCallback = callback; // TODO: Use setOnTimeSetListener() instead? setOnTimeSetListener(callback);
mInitialHourOfDay = hourOfDay; mInitialHourOfDay = hourOfDay;
mInitialMinute = minute; mInitialMinute = minute;
mIs24HourMode = is24HourMode; mIs24HourMode = is24HourMode;
@ -390,11 +389,7 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
} else { } else {
tryVibrate(); tryVibrate();
} }
if (mCallback != null) { onTimeSet(mTimePicker, mTimePicker.getHours(), mTimePicker.getMinutes());
// Log.d(TAG, String.format("Time set: %d:%02d", mTimePicker.getHours(), mTimePicker.getMinutes()));
mCallback.onTimeSet(mTimePicker, mTimePicker.getHours(), mTimePicker.getMinutes());
}
dismiss();
} }
}); });
// mDoneButton.setOnKeyListener(keyboardListener); // mDoneButton.setOnKeyListener(keyboardListener);

View File

@ -65,7 +65,7 @@ public class NumpadTimePickerDialog extends BaseTimePickerDialog
@Deprecated @Deprecated
public void initialize(OnTimeSetListener callback, public void initialize(OnTimeSetListener callback,
int hourOfDay, int minute, boolean is24HourMode) { int hourOfDay, int minute, boolean is24HourMode) {
mCallback = callback; setOnTimeSetListener(callback);
mIs24HourMode = is24HourMode; mIs24HourMode = is24HourMode;
} }
@ -170,9 +170,7 @@ public class NumpadTimePickerDialog extends BaseTimePickerDialog
void confirmSelection() { void confirmSelection() {
if (!mNumpad.checkTimeValid()) if (!mNumpad.checkTimeValid())
return; return;
// Log.d(TAG, String.format("Time set: %d:%02d", mNumpad.getHour(), mNumpad.getMinute())); onTimeSet(mNumpad, mNumpad.getHour(), mNumpad.getMinute());
mCallback.onTimeSet(mNumpad, mNumpad.getHour(), mNumpad.getMinute());
dismiss();
} }
private void updateInputText(String inputText) { private void updateInputText(String inputText) {