package org.dodgybits.shuffle.android.list.config; import android.content.ContextWrapper; import com.google.inject.Inject; import org.dodgybits.android.shuffle.R; import org.dodgybits.shuffle.android.core.model.persistence.TaskPersister; import org.dodgybits.shuffle.android.core.model.persistence.selector.Flag; import org.dodgybits.shuffle.android.core.model.persistence.selector.TaskSelector; import org.dodgybits.shuffle.android.core.view.MenuUtils; import org.dodgybits.shuffle.android.preference.model.ListPreferenceSettings; public class DueActionsListConfig extends AbstractTaskListConfig { private TaskSelector.PredefinedQuery mMode = TaskSelector.PredefinedQuery.dueToday; @Inject public DueActionsListConfig(TaskPersister persister) { super( createSelector(TaskSelector.PredefinedQuery.dueToday), persister, new ListPreferenceSettings("due_tasks").setDefaultCompleted(Flag.no)); } public TaskSelector.PredefinedQuery getMode() { return mMode; } public void setMode(TaskSelector.PredefinedQuery mode) { mMode = mode; setTaskSelector(createSelector(mode)); } @Override public int getContentViewResId() { return R.layout.tabbed_due_tasks; } public int getCurrentViewMenuId() { return MenuUtils.CALENDAR_ID; } public String createTitle(ContextWrapper context) { return context.getString(R.string.title_calendar, getSelectedPeriod(context)); } private String getSelectedPeriod(ContextWrapper context) { String result = null; switch (mMode) { case dueToday: result = context.getString(R.string.day_button_title).toLowerCase(); break; case dueNextWeek: result = context.getString(R.string.week_button_title).toLowerCase(); break; case dueNextMonth: result = context.getString(R.string.month_button_title).toLowerCase(); break; } return result; } private static TaskSelector createSelector(TaskSelector.PredefinedQuery mMode) { return TaskSelector.newBuilder().setPredefined(mMode).build(); } }