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() {
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() {