MTU-Dining/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/MenuState.java
2024-02-18 00:41:47 -05:00

62 lines
1.5 KiB
Java

package com.thebrokenrail.mtudining.activity.menu;
import androidx.lifecycle.SavedStateHandle;
import java.util.Date;
/**
* Current state of menu screen.
*/
public class MenuState {
private static final String DATE_KEY = "date";
private static final String SELECTED_MEAL_KEY = "selected_meal";
/**
* Data that should survive process-death.
*/
private final SavedStateHandle savedStateHandle;
public MenuState(SavedStateHandle savedStateHandle) {
this.savedStateHandle = savedStateHandle;
if (!savedStateHandle.contains(DATE_KEY)) {
setDate(new Date());
}
if (!savedStateHandle.contains(SELECTED_MEAL_KEY)) {
setSelectedMeal("");
}
}
/**
* Get currently selected date.
* @return The data
*/
@SuppressWarnings({"DataFlowIssue"})
public Date getDate() {
return new Date((long) savedStateHandle.get(DATE_KEY));
}
/**
* Set selected date.
* @param date The new date
*/
public void setDate(Date date) {
savedStateHandle.set(DATE_KEY, date.getTime());
}
/**
* Get currently selected meal.
* @return The meal
*/
public String getSelectedMeal() {
return savedStateHandle.get(SELECTED_MEAL_KEY);
}
/**
* Set selected meal.
* @param selectedMeal The new meal
*/
public void setSelectedMeal(String selectedMeal) {
savedStateHandle.set(SELECTED_MEAL_KEY, selectedMeal);
}
}