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

View File

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

View File

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