Merge "Call OnTimeChangedListener on AM/PM change in clock-style TimePicker" into nyc-dev

This commit is contained in:
Alan Viverette
2016-04-19 16:39:08 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 3 deletions

View File

@@ -563,10 +563,23 @@ public class RadialTimePickerView extends View {
return minute * DEGREES_FOR_ONE_MINUTE;
}
public void setAmOrPm(int val) {
mAmOrPm = (val % 2);
/**
* Sets whether the picker is showing AM or PM hours. Has no effect when
* in 24-hour mode.
*
* @param amOrPm {@link #AM} or {@link #PM}
* @return {@code true} if the value changed from what was previously set,
* or {@code false} otherwise
*/
public boolean setAmOrPm(int amOrPm) {
if (mAmOrPm == amOrPm || mIs24HourMode) {
return false;
}
mAmOrPm = amOrPm;
invalidate();
mTouchHelper.invalidateRoot();
return true;
}
public int getAmOrPm() {

View File

@@ -701,7 +701,10 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate impl
private void setAmOrPm(int amOrPm) {
updateAmPmLabelStates(amOrPm);
mRadialTimePickerView.setAmOrPm(amOrPm);
if (mRadialTimePickerView.setAmOrPm(amOrPm) && mOnTimeChangedListener != null) {
mOnTimeChangedListener.onTimeChanged(mDelegator, getHour(), getMinute());
}
}
private final OnValueChangedListener mDigitEnteredListener = new OnValueChangedListener() {