Change OnCheckedChange to OnClick for day toggles

This commit is contained in:
Phillip Hsu 2016-09-03 18:11:19 -07:00
parent c0c7d521df
commit 95f2e90fa8

View File

@ -12,7 +12,6 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ToggleButton; import android.widget.ToggleButton;
import com.philliphsu.clock2.Alarm; import com.philliphsu.clock2.Alarm;
@ -130,10 +129,6 @@ public class ExpandedAlarmViewHolder extends BaseAlarmViewHolder {
((Activity) getContext()).startActivityForResult(intent, AlarmsFragment.REQUEST_PICK_RINGTONE); ((Activity) getContext()).startActivityForResult(intent, AlarmsFragment.REQUEST_PICK_RINGTONE);
} }
///////////////////////////////////////////////////////////////////////////////////////////
// We didn't have to write code like this in EditAlarmActivity, because we never committed
// any changes until the user explicitly clicked save. We have to do this here now because
// we should commit changes as they are made.
@OnCheckedChanged(R.id.vibrate) @OnCheckedChanged(R.id.vibrate)
void onVibrateToggled(boolean checked) { void onVibrateToggled(boolean checked) {
final Alarm oldAlarm = getAlarm(); final Alarm oldAlarm = getAlarm();
@ -144,22 +139,21 @@ public class ExpandedAlarmViewHolder extends BaseAlarmViewHolder {
mAlarmController.save(newAlarm); mAlarmController.save(newAlarm);
} }
@OnCheckedChanged({ R.id.day0, R.id.day1, R.id.day2, R.id.day3, R.id.day4, R.id.day5, R.id.day6 }) @OnClick({ R.id.day0, R.id.day1, R.id.day2, R.id.day3, R.id.day4, R.id.day5, R.id.day6 })
void onDayToggled(CompoundButton buttonView, boolean isChecked) { void onDayToggled(ToggleButton view) {
final Alarm oldAlarm = getAlarm(); final Alarm oldAlarm = getAlarm();
Alarm newAlarm = oldAlarm.toBuilder().build(); Alarm newAlarm = oldAlarm.toBuilder().build();
oldAlarm.copyMutableFieldsTo(newAlarm); oldAlarm.copyMutableFieldsTo(newAlarm);
// --------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------
// TOneverDO: precede copyMutableFieldsTo() // TOneverDO: precede copyMutableFieldsTo()
int position = ((ViewGroup) buttonView.getParent()).indexOfChild(buttonView); int position = ((ViewGroup) view.getParent()).indexOfChild(view);
int weekDayAtPosition = DaysOfWeek.getInstance(getContext()).weekDayAt(position); int weekDayAtPosition = DaysOfWeek.getInstance(getContext()).weekDayAt(position);
Log.d(TAG, "Day toggle #" + position + " checked changed. This is weekday #" Log.d(TAG, "Day toggle #" + position + " checked changed. This is weekday #"
+ weekDayAtPosition + " relative to a week starting on Sunday"); + weekDayAtPosition + " relative to a week starting on Sunday");
newAlarm.setRecurring(weekDayAtPosition, isChecked); newAlarm.setRecurring(weekDayAtPosition, view.isChecked());
// --------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------
mAlarmController.save(newAlarm); mAlarmController.save(newAlarm);
} }
///////////////////////////////////////////////////////////////////////////////////////////
private void bindDays(Alarm alarm) { private void bindDays(Alarm alarm) {
for (int i = 0; i < mDays.length; i++) { for (int i = 0; i < mDays.length; i++) {