public Alarm getLBAlarm() { for (AlarmPre preference : preferences) { switch (preference.getKey()) { case ALARM_ACTIVE: alarm.setAlarmActive((Boolean) preference.getValue()); break; case ALARM_NAME: alarm.setAlarmName((String) preference.getValue()); break; case ALARM_TIME: alarm.setAlarmTime((String) preference.getValue()); break; case ALARM_TONE: alarm.setAlarmTonePath((String) preference.getValue()); break; case ALARM_VIBRATE: alarm.setVibrate((Boolean) preference.getValue()); break; case ALARM_REPEAT: alarm.setDays((Alarm.Day[]) preference.getValue()); break; } } return alarm; }
public void setLBAlarm(Alarm alarm) { this.alarm = alarm; preferences.clear(); preferences.add( new AlarmPre( AlarmPre.Key.ALARM_ACTIVE, "Active", null, null, alarm.getAlarmActive(), Type.BOOLEAN)); preferences.add( new AlarmPre( AlarmPre.Key.ALARM_NAME, "Detail", alarm.getAlarmName(), null, alarm.getAlarmName(), Type.STRING)); preferences.add( new AlarmPre( AlarmPre.Key.ALARM_TIME, "Time", alarm.getAlarmTimeString(), null, alarm.getAlarmTime(), Type.TIME)); preferences.add( new AlarmPre( AlarmPre.Key.ALARM_REPEAT, "Repeat", alarm.getRepeatDaysString(), repeatDays, alarm.getDays(), Type.MULTIPLE_LIST)); Uri alarmToneUri = Uri.parse(alarm.getAlarmTonePath()); Ringtone alarmTone = RingtoneManager.getRingtone(getContext(), alarmToneUri); if (alarmTone instanceof Ringtone && !alarm.getAlarmTonePath().equalsIgnoreCase("")) { preferences.add( new AlarmPre( AlarmPre.Key.ALARM_TONE, "Ringtone", alarmTone.getTitle(getContext()), alarmTones, alarm.getAlarmTonePath(), Type.LIST)); } else { preferences.add( new AlarmPre( AlarmPre.Key.ALARM_TONE, "Ringtone", getAlarmTones()[0], alarmTones, null, Type.LIST)); } preferences.add( new AlarmPre( AlarmPre.Key.ALARM_VIBRATE, "Vibrate", null, null, alarm.getVibrate(), Type.BOOLEAN)); }