DaysOfWeek finished
This commit is contained in:
parent
9aa47ccfbe
commit
aba3b534a1
@ -44,7 +44,7 @@ public class DaysOfWeek {
|
||||
sAppContext = context.getApplicationContext();
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
// TODO First day of week preference. Entries are the full days' names and values are their respective integers.
|
||||
String preferredFirstDay = prefs.getString("", "1");
|
||||
String preferredFirstDay = prefs.getString("", "0");
|
||||
if (sInstance == null || !preferredFirstDay.equals(sLastPreferredFirstDay)) {
|
||||
sLastPreferredFirstDay = preferredFirstDay;
|
||||
sInstance = new DaysOfWeek(Integer.parseInt(preferredFirstDay));
|
||||
@ -59,7 +59,7 @@ public class DaysOfWeek {
|
||||
}
|
||||
|
||||
/** @return the week day at {@code position} within the user-defined week */
|
||||
public int weekDay(int position) {
|
||||
public int weekDayAt(int position) {
|
||||
if (position < 0 || position > 6)
|
||||
throw new ArrayIndexOutOfBoundsException("Ordinal day out of range");
|
||||
return DAYS[position];
|
||||
|
||||
@ -97,7 +97,7 @@ public class AlarmViewHolder extends BaseViewHolder<Alarm> {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0 /* Ordinal days*/; i < NUM_DAYS; i++) {
|
||||
// What day is at this position in the week?
|
||||
int weekDay = DaysOfWeek.getInstance(getContext()).weekDay(i);
|
||||
int weekDay = DaysOfWeek.getInstance(getContext()).weekDayAt(i);
|
||||
if (alarm.isRecurring(weekDay)) {
|
||||
sb.append(DaysOfWeek.getLabel(weekDay)).append(", ");
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import java.util.Date;
|
||||
import butterknife.Bind;
|
||||
import butterknife.OnClick;
|
||||
|
||||
import static com.philliphsu.clock2.DaysOfWeek.SATURDAY;
|
||||
import static com.philliphsu.clock2.DaysOfWeek.SUNDAY;
|
||||
|
||||
public class EditAlarmActivity extends BaseActivity {
|
||||
@ -46,11 +47,11 @@ public class EditAlarmActivity extends BaseActivity {
|
||||
if (alarm != null) {
|
||||
mSwitch.setChecked(alarm.isEnabled());
|
||||
mTimeText.setText(DateFormat.getTimeFormat(this).format(new Date(alarm.ringsAt())));
|
||||
for (int i = 0; i < mDays.length; i++) {
|
||||
// What day is at this position in the week?
|
||||
int weekDay = DaysOfWeek.getInstance(this).weekDay(i);
|
||||
// We toggle the button at this position because it represents that day
|
||||
mDays[i].setChecked(alarm.isRecurring(weekDay));
|
||||
for (int i = SUNDAY; i <= SATURDAY; i++) {
|
||||
// What position in the week is this day located at?
|
||||
int at = DaysOfWeek.getInstance(this).positionOf(i);
|
||||
// Toggle the button that corresponds to this day
|
||||
mDays[at].setChecked(alarm.isRecurring(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -74,7 +75,9 @@ public class EditAlarmActivity extends BaseActivity {
|
||||
@OnClick(R.id.save)
|
||||
void save() {
|
||||
boolean[] days = new boolean[7];
|
||||
days[SUNDAY] = true;
|
||||
days[0] = true;
|
||||
days[1] = true;
|
||||
days[6] = true;
|
||||
Alarm a = Alarm.builder()
|
||||
.recurringDays(days)
|
||||
.build();
|
||||
@ -90,7 +93,7 @@ public class EditAlarmActivity extends BaseActivity {
|
||||
|
||||
private void setWeekDaysText() {
|
||||
for (int i = 0; i < mDays.length; i++) {
|
||||
int weekDay = DaysOfWeek.getInstance(this).weekDay(i);
|
||||
int weekDay = DaysOfWeek.getInstance(this).weekDayAt(i);
|
||||
String label = DaysOfWeek.getLabel(weekDay);
|
||||
mDays[i].setTextOn(label);
|
||||
mDays[i].setTextOff(label);
|
||||
|
||||
@ -13,13 +13,13 @@ public class DaysOfWeekTest {
|
||||
@Test
|
||||
public void testSundayAsFirstDayOfWeek() {
|
||||
DaysOfWeek days = new DaysOfWeek(SUNDAY);
|
||||
assertEquals(days.weekDay(0), SUNDAY);
|
||||
assertEquals(days.weekDay(1), MONDAY);
|
||||
assertEquals(days.weekDay(2), TUESDAY);
|
||||
assertEquals(days.weekDay(3), WEDNESDAY);
|
||||
assertEquals(days.weekDay(4), THURSDAY);
|
||||
assertEquals(days.weekDay(5), FRIDAY);
|
||||
assertEquals(days.weekDay(6), SATURDAY);
|
||||
assertEquals(days.weekDayAt(0), SUNDAY);
|
||||
assertEquals(days.weekDayAt(1), MONDAY);
|
||||
assertEquals(days.weekDayAt(2), TUESDAY);
|
||||
assertEquals(days.weekDayAt(3), WEDNESDAY);
|
||||
assertEquals(days.weekDayAt(4), THURSDAY);
|
||||
assertEquals(days.weekDayAt(5), FRIDAY);
|
||||
assertEquals(days.weekDayAt(6), SATURDAY);
|
||||
|
||||
assertEquals(days.positionOf(SUNDAY), 0);
|
||||
assertEquals(days.positionOf(MONDAY), 1);
|
||||
@ -33,13 +33,13 @@ public class DaysOfWeekTest {
|
||||
@Test
|
||||
public void testSaturdayAsFirstDayOfWeek() {
|
||||
DaysOfWeek days = new DaysOfWeek(SATURDAY);
|
||||
assertEquals(days.weekDay(0), SATURDAY);
|
||||
assertEquals(days.weekDay(1), SUNDAY);
|
||||
assertEquals(days.weekDay(2), MONDAY);
|
||||
assertEquals(days.weekDay(3), TUESDAY);
|
||||
assertEquals(days.weekDay(4), WEDNESDAY);
|
||||
assertEquals(days.weekDay(5), THURSDAY);
|
||||
assertEquals(days.weekDay(6), FRIDAY);
|
||||
assertEquals(days.weekDayAt(0), SATURDAY);
|
||||
assertEquals(days.weekDayAt(1), SUNDAY);
|
||||
assertEquals(days.weekDayAt(2), MONDAY);
|
||||
assertEquals(days.weekDayAt(3), TUESDAY);
|
||||
assertEquals(days.weekDayAt(4), WEDNESDAY);
|
||||
assertEquals(days.weekDayAt(5), THURSDAY);
|
||||
assertEquals(days.weekDayAt(6), FRIDAY);
|
||||
|
||||
assertEquals(days.positionOf(SUNDAY), 1);
|
||||
assertEquals(days.positionOf(MONDAY), 2);
|
||||
@ -53,13 +53,13 @@ public class DaysOfWeekTest {
|
||||
@Test
|
||||
public void testMondayAsFirstDayOfWeek() {
|
||||
DaysOfWeek days = new DaysOfWeek(MONDAY);
|
||||
assertEquals(days.weekDay(0), MONDAY);
|
||||
assertEquals(days.weekDay(1), TUESDAY);
|
||||
assertEquals(days.weekDay(2), WEDNESDAY);
|
||||
assertEquals(days.weekDay(3), THURSDAY);
|
||||
assertEquals(days.weekDay(4), FRIDAY);
|
||||
assertEquals(days.weekDay(5), SATURDAY);
|
||||
assertEquals(days.weekDay(6), SUNDAY);
|
||||
assertEquals(days.weekDayAt(0), MONDAY);
|
||||
assertEquals(days.weekDayAt(1), TUESDAY);
|
||||
assertEquals(days.weekDayAt(2), WEDNESDAY);
|
||||
assertEquals(days.weekDayAt(3), THURSDAY);
|
||||
assertEquals(days.weekDayAt(4), FRIDAY);
|
||||
assertEquals(days.weekDayAt(5), SATURDAY);
|
||||
assertEquals(days.weekDayAt(6), SUNDAY);
|
||||
|
||||
assertEquals(days.positionOf(SUNDAY), 6);
|
||||
assertEquals(days.positionOf(MONDAY), 0);
|
||||
@ -68,7 +68,5 @@ public class DaysOfWeekTest {
|
||||
assertEquals(days.positionOf(THURSDAY), 3);
|
||||
assertEquals(days.positionOf(FRIDAY), 4);
|
||||
assertEquals(days.positionOf(SATURDAY), 5);
|
||||
|
||||
System.out.println(days.toString());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user