Remove weekday selected array

pull/618/head
Alex Baker 7 years ago
parent 3a2eafc239
commit ef254d15c3

@ -11,7 +11,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-rc1' classpath 'com.android.tools.build:gradle:3.0.0-rc2'
} }
} }

@ -90,7 +90,6 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
private static final List<Frequency> FREQUENCIES = asList(MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY); private static final List<Frequency> FREQUENCIES = asList(MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY);
private static final String EXTRA_RRULE = "extra_rrule"; private static final String EXTRA_RRULE = "extra_rrule";
private static final String EXTRA_WEEKDAYS = "extra_weekdays";
private static final String EXTRA_DATE = "extra_date"; private static final String EXTRA_DATE = "extra_date";
private static final int REQUEST_PICK_DATE = 505; private static final int REQUEST_PICK_DATE = 505;
@ -126,7 +125,6 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
private WeekButton[] weekButtons; private WeekButton[] weekButtons;
private RRule rrule; private RRule rrule;
private boolean[] weekdaySelected;
@NonNull @NonNull
@Override @Override
@ -138,9 +136,6 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
String rule = savedInstanceState == null String rule = savedInstanceState == null
? arguments.getString(EXTRA_RRULE) ? arguments.getString(EXTRA_RRULE)
: savedInstanceState.getString(EXTRA_RRULE); : savedInstanceState.getString(EXTRA_RRULE);
weekdaySelected = savedInstanceState == null
? new boolean[7]
: savedInstanceState.getBooleanArray(EXTRA_WEEKDAYS);
try { try {
if (!Strings.isNullOrEmpty(rule)) { if (!Strings.isNullOrEmpty(rule)) {
rrule = new RRule(rule); rrule = new RRule(rule);
@ -152,7 +147,6 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
rrule = new RRule(); rrule = new RRule();
rrule.setInterval(1); rrule.setInterval(1);
rrule.setFreq(WEEKLY); rrule.setFreq(WEEKLY);
weekdaySelected = new boolean[7];
} }
DateFormatSymbols dfs = new DateFormatSymbols(locale.getLocale()); DateFormatSymbols dfs = new DateFormatSymbols(locale.getLocale());
@ -266,9 +260,8 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
weekButton.setTextOn(text); weekButton.setTextOn(text);
weekButton.setText(text); weekButton.setText(text);
if (savedInstanceState == null) { if (savedInstanceState == null) {
weekdaySelected[index] = rrule.getByDay().contains(weekdayNum); weekButton.setCheckedNoAnimate(rrule.getByDay().contains(weekdayNum));
} }
weekButton.setOnCheckedChangeListener((compoundButton, checked) -> weekdaySelected[index] = checked);
dayOfWeekCalendar.add(Calendar.DATE, 1); dayOfWeekCalendar.add(Calendar.DATE, 1);
} }
@ -283,9 +276,9 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
private void onRuleSelected(DialogInterface dialogInterface, int which) { private void onRuleSelected(DialogInterface dialogInterface, int which) {
if (rrule.getFreq() == WEEKLY) { if (rrule.getFreq() == WEEKLY) {
List<WeekdayNum> checked = new ArrayList<>(); List<WeekdayNum> checked = new ArrayList<>();
for (int i = 0 ; i < 7 ; i++) { for (WeekButton weekButton : weekButtons) {
if (weekdaySelected[i]) { if (weekButton.isChecked()) {
checked.add((WeekdayNum) weekButtons[i].getTag()); checked.add((WeekdayNum) weekButton.getTag());
} }
} }
rrule.setByDay(checked); rrule.setByDay(checked);
@ -331,8 +324,8 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
for (int i = 0 ; i < 7 ; i++) { for (WeekButton weekButton : weekButtons) {
weekButtons[i].setCheckedNoAnimate(weekdaySelected[i]); weekButton.setCheckedNoAnimate(weekButton.isChecked());
} }
} }
@ -340,7 +333,6 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment {
public void onSaveInstanceState(Bundle outState) { public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
outState.putBooleanArray(EXTRA_WEEKDAYS, weekdaySelected);
outState.putString(EXTRA_RRULE, rrule.toIcal()); outState.putString(EXTRA_RRULE, rrule.toIcal());
} }

Loading…
Cancel
Save