// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "AlarmsData.hpp" #include static const std::map weekDaysAbbreviation = {{WeekDayIso::Monday, "common_mon"}, {WeekDayIso::Tuesday, "common_tue"}, {WeekDayIso::Wednesday, "common_wed"}, {WeekDayIso::Thursday, "common_thu"}, {WeekDayIso::Friday, "common_fri"}, {WeekDayIso::Saturday, "common_sat"}, {WeekDayIso::Sunday, "common_sun"}}; CustomRepeatValueParser::CustomRepeatValueParser(uint32_t repeatValue) { OptionParser parser; weekDayData = parser.setWeekDayOptions(repeatValue, std::make_unique()); } std::string CustomRepeatValueParser::getWeekDaysText() const { std::string weekDaysText; for (auto const &[key, val] : weekDaysAbbreviation) { if (weekDayData->getData(static_cast(key))) { weekDaysText += utils::translate(val) + ", "; } } if (!weekDaysText.empty()) { weekDaysText.erase(weekDaysText.end() - 2); } return weekDaysText; } bool CustomRepeatValueParser::isCustomValueWeekDays() const { return weekDayData->getData(static_cast(WeekDayIso::Monday)) && weekDayData->getData(static_cast(WeekDayIso::Tuesday)) && weekDayData->getData(static_cast(WeekDayIso::Wednesday)) && weekDayData->getData(static_cast(WeekDayIso::Thursday)) && weekDayData->getData(static_cast(WeekDayIso::Friday)); } bool CustomRepeatValueParser::isCustomValueEveryday() const { return isCustomValueWeekDays() && weekDayData->getData(static_cast(WeekDayIso::Saturday)) && weekDayData->getData(static_cast(WeekDayIso::Sunday)); }