M module-apps/application-settings/widgets/SpinBoxOptionSettings.cpp => module-apps/application-settings/widgets/SpinBoxOptionSettings.cpp +8 -4
@@ 11,19 11,23 @@ namespace gui
std::uint8_t value,
std::uint8_t maxValue,
std::function<bool(uint8_t)> updateCallback,
- std::function<bool(Item &)> focusChangedCallback,
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode,
+ std::function<void()> bottomBarRestoreFromTemporaryMode,
bool indent)
- : updateCallback(std::move(updateCallback)), maxValue(maxValue), value(value), text(text), indent(indent)
+ : updateCallback(std::move(updateCallback)), bottomBarTemporaryMode(std::move(bottomBarTemporaryMode)),
+ bottomBarRestoreFromTemporaryMode(std::move(bottomBarRestoreFromTemporaryMode)), maxValue(maxValue),
+ value(value), text(text), indent(indent)
{}
auto SpinBoxOptionSettings::build() const -> ListItem *
{
- auto spinBox = new SpinBox(nullptr, text, updateCallback, maxValue, value);
+ auto spinBox = new SpinBox(
+ nullptr, text, updateCallback, maxValue, value, bottomBarTemporaryMode, bottomBarRestoreFromTemporaryMode);
auto optionItem = new gui::ListItem();
optionItem->setMinimumSize(style::window::default_body_width, style::window::label::big_h);
optionItem->inputCallback = spinBox->inputCallback;
- optionItem->focusChangedCallback = [spinBox](Item &item) { return spinBox->focusChangedCallback(item); };
+ optionItem->focusChangedCallback = spinBox->focusChangedCallback;
optionItem->dimensionChangedCallback = [spinBox](gui::Item &, const BoundingBox &newDim) -> bool {
spinBox->setArea({0, 0, newDim.w, newDim.h});
return true;
M module-apps/application-settings/widgets/SpinBoxOptionSettings.hpp => module-apps/application-settings/widgets/SpinBoxOptionSettings.hpp +5 -2
@@ 14,13 14,16 @@ namespace gui
uint8_t value,
uint8_t maxValue,
std::function<bool(uint8_t)> updateCallback,
- std::function<bool(Item &)> focusChangedCallback = nullptr,
- bool indent = false);
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode,
+ std::function<void()> bottomBarRestoreFromTemporaryMode,
+ bool indent = false);
[[nodiscard]] auto build() const -> ListItem * override;
private:
std::function<bool(uint8_t)> updateCallback;
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode = nullptr;
+ std::function<void()> bottomBarRestoreFromTemporaryMode = nullptr;
std::uint8_t maxValue;
std::uint8_t value;
UTF8 text;
M module-apps/application-settings/windows/apps/AlarmClockWindow.cpp => module-apps/application-settings/windows/apps/AlarmClockWindow.cpp +5 -9
@@ 19,7 19,7 @@ namespace gui
std::list<Option> AlarmClockWindow::buildOptionsList()
{
std::list<gui::Option> optionList;
- mVibrationsEnabled = mAudioModel->isVibrationEnabled();
+ mVibrationsEnabled = mAudioModel->isVibrationEnabled();
mManualVolumeEnabled = mAudioModel->isSystemSoundEnabled();
mWidgetMaker.addSwitchOption(optionList, utils::translate("app_settings_vibration"), mVibrationsEnabled, [&]() {
switchVibrationState();
@@ 30,13 30,6 @@ namespace gui
mManualVolumeEnabled,
[&]() { switchManualVolumeState(); });
- auto focusCallback = [&](gui::Item &item) {
- if (item.focus) {
- setBottomBarText(UTF8(), BottomBar::Side::CENTER);
- }
- return true;
- };
-
if (mManualVolumeEnabled) {
optionList.emplace_back(std::make_unique<gui::SpinBoxOptionSettings>(
utils::translate("app_settings_volume"),
@@ 46,7 39,10 @@ namespace gui
setVolume(value);
return true;
},
- focusCallback,
+ [&](const UTF8 &text) {
+ application->getCurrentWindow()->bottomBarTemporaryMode(text, BottomBar::Side::CENTER, false);
+ },
+ [&]() { application->getCurrentWindow()->bottomBarRestoreFromTemporaryMode(); },
true));
}
M module-apps/application-settings/windows/display-keypad/DisplayLightWindow.cpp => module-apps/application-settings/windows/display-keypad/DisplayLightWindow.cpp +4 -8
@@ 108,19 108,15 @@ namespace gui
return true;
};
- auto setBottomBarOnSpinnerFocus = [&](gui::Item &item) {
- if (item.focus) {
- setBottomBarText(utils::translate(style::strings::common::set), BottomBar::Side::CENTER);
- }
- return true;
- };
-
auto spinner = std::make_unique<gui::SpinBoxOptionSettings>(
utils::translate("app_settings_display_light_brightness"),
std::ceil(brightnessValue / brightnessStep),
std::ceil(screen_light_control::ManualModeParameters::MAX_BRIGHTNESS / brightnessStep),
setBrightness,
- setBottomBarOnSpinnerFocus);
+ [&](const UTF8 &text) {
+ application->getCurrentWindow()->bottomBarTemporaryMode(text, BottomBar::Side::CENTER, false);
+ },
+ [&]() { application->getCurrentWindow()->bottomBarRestoreFromTemporaryMode(); });
return spinner;
}
M module-apps/apps-common/widgets/SpinBox.cpp => module-apps/apps-common/widgets/SpinBox.cpp +22 -3
@@ 8,12 8,20 @@
#include <InputEvent.hpp>
#include <Text.hpp>
#include <Image.hpp>
+#include <utility>
namespace gui
{
- SpinBox::SpinBox(
- Item *parent, const std::string &title, UpdateCallback updateCallback, uint8_t maxValue, uint8_t startValue)
- : HBox(parent, style::window::default_left_margin), updateBarCallback(std::move(updateCallback))
+ SpinBox::SpinBox(Item *parent,
+ const std::string &title,
+ UpdateCallback updateCallback,
+ uint8_t maxValue,
+ uint8_t startValue,
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode,
+ std::function<void()> bottomBarRestoreFromTemporaryMode)
+ : HBox(parent, style::window::default_left_margin), updateBarCallback(std::move(updateCallback)),
+ bottomBarTemporaryMode(std::move(bottomBarTemporaryMode)),
+ bottomBarRestoreFromTemporaryMode(std::move(bottomBarRestoreFromTemporaryMode))
{
setMinimumSize(style::window::default_body_width, style::window::label::big_h);
setPenWidth(style::window::default_border_no_focus_w);
@@ 29,6 37,17 @@ namespace gui
leftArrow->setVisible(item.focus);
rightArrow->setVisible(item.focus);
resizeItems();
+
+ if (item.focus) {
+ if (this->bottomBarTemporaryMode) {
+ this->bottomBarTemporaryMode("");
+ }
+ }
+ else {
+ if (this->bottomBarRestoreFromTemporaryMode) {
+ this->bottomBarRestoreFromTemporaryMode();
+ }
+ }
return true;
};
M module-apps/apps-common/widgets/SpinBox.hpp => module-apps/apps-common/widgets/SpinBox.hpp +5 -1
@@ 18,7 18,9 @@ namespace gui
const std::string &title,
UpdateCallback updateCallback,
std::uint8_t maxValue,
- std::uint8_t startValue);
+ std::uint8_t startValue,
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode = nullptr,
+ std::function<void()> bottomBarRestoreFromTemporaryMode = nullptr);
private:
auto addArrow(Item *parent, const std::string &arrowName, Alignment::Horizontal aligment, bool visible)
@@ 31,5 33,7 @@ namespace gui
Image *leftArrow;
Image *rightArrow;
UpdateCallback updateBarCallback;
+ std::function<void(const UTF8 &text)> bottomBarTemporaryMode = nullptr;
+ std::function<void()> bottomBarRestoreFromTemporaryMode = nullptr;
};
} // namespace gui
M module-audio/Audio/AudioMux.cpp => module-audio/Audio/AudioMux.cpp +3 -3
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "AudioMux.hpp"
@@ 11,8 11,8 @@ namespace audio
const std::map<PlaybackType, uint8_t> PlaybackTypePriority = {
{PlaybackType::Meditation, 1},
{PlaybackType::CallRingtone, 2},
- {PlaybackType::Multimedia, 3},
- {PlaybackType::Alarm, 4},
+ {PlaybackType::Alarm, 3},
+ {PlaybackType::Multimedia, 4},
{PlaybackType::TextMessageRingtone, 5},
{PlaybackType::Notifications, 5},
{PlaybackType::KeypadSound, 6},
M module-audio/Audio/test/unittest_audio.cpp => module-audio/Audio/test/unittest_audio.cpp +2 -2
@@ 352,8 352,8 @@ TEST_CASE("Test AudioMux")
std::vector<AudioMux::Input> audioInputs;
AudioMux aMux(audioInputs);
- auto testPlaybackTypeLowPrio = PlaybackType::Alarm;
- auto testPlaybackTypeMidPrio = PlaybackType::Multimedia;
+ auto testPlaybackTypeLowPrio = PlaybackType::Multimedia;
+ auto testPlaybackTypeMidPrio = PlaybackType::Alarm;
auto testPlaybackTypeHighPrio = PlaybackType::CallRingtone;
auto mergableType = PlaybackType::Notifications;
M products/PurePhone/alarms/src/actions/PlayAudioActions.cpp => products/PurePhone/alarms/src/actions/PlayAudioActions.cpp +1 -2
@@ 12,7 12,6 @@
namespace
{
constexpr auto timerName = "playDurationTimer";
- constexpr std::chrono::seconds defaultTimerTime{30};
} // namespace
namespace alarms
@@ 59,6 58,6 @@ namespace alarms
{
const auto tonePath = std::filesystem::path{record.musicTone};
LOG_DEBUG("play some music: %s", record.musicTone.c_str());
- return play(tonePath, defaultTimerTime);
+ return play(tonePath);
}
} // namespace alarms