mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-02 19:08:54 -05:00
40 lines
1.5 KiB
C++
40 lines
1.5 KiB
C++
// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include "NotificationsPresenter.hpp"
|
|
#include <apps-common/ApplicationCommon.hpp>
|
|
#include <service-appmgr/data/NotificationsChangedActionsParams.hpp>
|
|
|
|
namespace gui
|
|
{
|
|
enum class NotificationsListPlacement
|
|
{
|
|
Desktop,
|
|
LockedScreen
|
|
};
|
|
class NotificationsModel
|
|
{
|
|
private:
|
|
std::shared_ptr<NotificationsPresenter> notificationsPresenter;
|
|
bool tetheringOn = false;
|
|
bool phoneTimeLock = false;
|
|
const NotificationsListPlacement listPlacement;
|
|
|
|
public:
|
|
explicit NotificationsModel(std::shared_ptr<NotificationsPresenter> notificationsPresenter,
|
|
NotificationsListPlacement listPlacement = NotificationsListPlacement::Desktop);
|
|
explicit NotificationsModel(NotificationsListPlacement listPlacement = NotificationsListPlacement::Desktop);
|
|
void attachPresenter(std::shared_ptr<NotificationsPresenter> notificationsPresenter);
|
|
[[nodiscard]] bool isEmpty() const noexcept;
|
|
[[nodiscard]] bool hasDismissibleNotification() const noexcept;
|
|
[[nodiscard]] bool isTetheringOn() const noexcept;
|
|
[[nodiscard]] bool isPhoneTimeLock() const noexcept;
|
|
|
|
void updateData(app::manager::actions::NotificationsChangedParams *params);
|
|
void dismissAll();
|
|
};
|
|
|
|
} // namespace gui
|