1. Prepare Pure and Bell specific `Application`
classes and add them to `app` target:
- `products/BellHybrid/apps/Application.cpp`
- `products/PurePhone/apps/Application.cpp`
2. Update `CMakeLists.txt` files.
3. Move `ApplicationBell` implementation to Bell-specific
`Application` class and remove `ApplicationBell` files.
4. Change Bell apps parent classes from `ApplicationBell`
to Bell-specific `Application` class.
5. Rename `Application` to `ApplicationCommon` in the rest of the files.
PhoneModeObserver doesn't work properly in applications.
Applications have to handle the phone mode changes via AppMgr.
Phone mode and tethering handlers separated.
This PR fixes:
-several explicit uses of `new` that were not matched by `delete`
-dangling `CalendarTimeItem`s
-reset of focus on the `allDayEventCheckBox` check/uncheck
-exiting the app form `allEventsWindow` on `KEY_RF`
Added Dialog windows for "configuration successful"
"no configuration" and "update OS" for Onboarding.
Refactor Dialog window implementation and usage of
DialogMetadata in other applications.
Created structure and implementation for popup windows
attachments on button actions into applications. Moved Volume
window to fit into solution. BarGraph refactored.
- add ChangeDateAndTimeWindow,
- extract EventTimeItem to common widgets folder
and rename it to TimeWidget,
- extract EventDateItem to common widgets folder
and rename it to DateWidget,
- replace timeWidget with common TimeWidget
in NightshiftWindow,
- refactor time setting in
DesktopMainWindow and TopBar,
- Remove dead code from EventManager
(GetNextAlarmTimestamp and HandleAlarmTrigger)
Add an additional field for date of the event.
Set 'all day' event as a default option when you add a new event.
Change in the design of AllEventsWindow and EventDetailWindow according to UX redesign.
* Moved ApplicationLauncher to separate files - declutering
* WindowsStore renamed to WindowsFactory - Store needs to be splitted toavoid antipattern
* Options window build dynamically onBeforeShow
* Dialog windows dynamically built
-Create application->switchManyWindowsBack() method
-Create equivalent to empty window enum class
-Remove stored prevWindows variables
-Add bottom bar to empty window (equivalent to allEvents)
-Repair going back to previous windows functionality
-Repair switching window (with empty events DB)
-Add EventShift value to event records time
* Timers now are Application thread safe
* Timers now have consistent API independend of Application (no more c style timers)
* Timers can have either: callback or override onTimer() method - this
way we can create more complicated timers or just use existing ones
* gui::Timer added via adapter class GuiTimer to decouple sys::Timer
with gui::Timer
* Fixed race in wrapper
* Updated docs
* fixed using std and cpp_freertos and DataReceivedHandler hidden in Application.hpp