diff --git a/app/src/main/java/com/philliphsu/clock2/Alarm.java b/app/src/main/java/com/philliphsu/clock2/Alarm.java index c1f2f09..add1938 100644 --- a/app/src/main/java/com/philliphsu/clock2/Alarm.java +++ b/app/src/main/java/com/philliphsu/clock2/Alarm.java @@ -45,6 +45,14 @@ public abstract class Alarm extends ObjectWithId implements JsonSerializable, Pa throw new UnsupportedOperationException(); } + public void copyMutableFieldsTo(Alarm target) { + target.setId(this.getId()); + target.snoozingUntilMillis = this.snoozingUntilMillis; + target.enabled = this.enabled; + System.arraycopy(this.recurringDays, 0, target.recurringDays, 0, NUM_DAYS); + target.ignoreUpcomingRingTime = this.ignoreUpcomingRingTime; + } + public static Builder builder() { // Unfortunately, default values must be provided for generated Builders. // Fields that were not set when build() is called will throw an exception. diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java index 6d9d103..6cafe8c 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java @@ -31,6 +31,7 @@ import butterknife.OnClick; * Created by Phillip Hsu on 7/31/2016. */ public class ExpandedAlarmViewHolder extends BaseAlarmViewHolder { + private static final String TAG = "ExpandedAlarmViewHolder"; @Bind(R.id.ok) Button mOk; @Bind(R.id.delete) Button mDelete; @@ -55,7 +56,17 @@ public class ExpandedAlarmViewHolder extends BaseAlarmViewHolder { mOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - listener.onListItemUpdate(getAlarm(), getAdapterPosition()); + final Alarm oldAlarm = getAlarm(); + Alarm newAlarm = Alarm.builder() + .hour(oldAlarm.hour()/*TODO*/) + .minutes(oldAlarm.minutes()/*TODO*/) + .label(mLabel.getText().toString()) + .ringtone(""/*TODO*/) + .vibrates(mVibrate.isChecked()) + .build(); + Log.d(TAG, "New alarm: " + newAlarm); + oldAlarm.copyMutableFieldsTo(newAlarm); + listener.onListItemUpdate(newAlarm, getAdapterPosition()); } });