| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* more consistent function names
* lapCapacity as constexpr
* LastLap returns std::optional
* simplified handling of TickType_t values
* removed unused methods
* minor fix in lap rendering
|
| |
|
|
|
| |
# Conflicts:
# src/displayapp/screens/StopWatch.h
|
| |
|
|
|
| |
Include null terminator in the bytes copied.
Set notif.size as it is done in AlertNotificationService.cpp and
AlertNotificationClient.cpp.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Expose SystemTask dependency controllers
Expose NotificationManager and Settings for use by the feature in next commit.
This is a memory efficient way for accessing SystemTask dependencies from
controllers that have SystemTask injected as a dependency.
Looks like each direct dependency injection uses 4 bytes RAM.
As InfiniTime is close to running out of RAM (using 16 more bytes causes build
to fail with "ld: region RAM overflowed with stack") it might be helpful to use
this approach more.
* Add setting to disable DFU and FS access
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 0aead42fdf51 ("navigation: Add is available (#1847)") added the
ability to draw the app icon in grey and in a disabled state when some
prerequisits were not met. Only the Navigation app was using this mechanism
due to its icons being stored in the external memory and possibly missing.
Commit 63e0c4f4efb0 ("Application selection at build time") broke this by
always setting the state as true:
for (const auto& userApp : userApps) {
apps[i++] = Screens::Tile::Applications {userApp.icon, userApp.app, true};
}
Fix this by creating an isAvailable() strcuture in the app classes, similar
to how the Watchfaces handle the same problem of checking availability.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* remove leading zeros from battery percentage
* add correct colors matching the battery icon color thresholds
|
| |
|
|
|
| |
and save a few bytes of heap memory
Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
|
| |
|
|
|
| |
Instead of raw for loops use `std::ranges::transform` where possible.
And also use `std::ranges::find_if` instead of `std::find_if`.
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| | |
Prevents reading uninitialised memory if notification gets cut off due
to being more than 100 chars. The last character is assumed to be \0, but
it is actually uninitialised.
|
| | |
| |
| |
| |
| |
| | |
There was a newline at the end of the last line on the third screen,
which was causing the label to not be centered vertically.
Removing it fixes the centering.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* DisplayApp.cpp: Remove the vibration from OnChargingEvent
This fixes a bug where the vibration interupts the physical connection with the charger and therefore triggers a new charging event and vibration, ending in a cycle of vibrations while charging.
* remove OnChargingEvent message from DisplayApp
---------
Co-authored-by: minacode <minamoto9@web.de>
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Co-authored-by: minacode <minamoto9@web.de>
Co-authored-by: Finlay Davidson <finlay.davidson@coderclass.nl>
Co-authored-by: SuIông N. <Boteium@users.noreply.github.com>
Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
|
| | |
| |
| |
| |
| | |
which is an error since we compile with -Werror
Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Redesign BatteryInfo App using an Arch widget instead of a bar.
The colors I used are as follows:
- Discharging (default): green
- Charging: lime
- Battery full: blue
- Battery low (<10%): red
|
| | |
| |
| |
| | |
Optimise the battery animation to not use 100% CPU (which causes DisplayApp to spin forever with AOD)
(DisplayApp also needs to be fixed in the future so it cannot spin infinitely)
|
| | |
| |
| | |
Change the "No notification" text to "No notifications"
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Simplify alarm alerting screen and fix bug with
alerting on time value change
SetAlerting creates an lv_task to automatically call StopAlerting after one minute. This task will call an invalid function reference and lead to a crash under the following condition:
All exit paths but the time value change (so not considering this fix) call StopAlerting themselves, which also terminates the lv_task.
However, the value change callback only calls DisableAlarm, because its normal use case is for setting up an alarm, where you have to re-confirm enabling the alarm after every change you make.
DisableAlarm still sets isAlerting in the alarmController to false, probably because someone thought a currently alerting but also disabled alarm makes no sense, this was introduced in a0cd439.
That causes the destructor of Alarm to think there is nothing to do regarding the alerting when the alarm screen is dismissed.
Therefore it does not call StopAlerting and the lv_task is left with an invalid function pointer, because Alarm does not exist anymore once the lv_task finally goes to call the callback function
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
When converting to imperial units, the min and max temperatures were
incorrectly inverted, causing confusion in the display.
Fixes https://github.com/InfiniTimeOrg/InfiniTime/issues/2183
|
| | |
| |
| |
| |
| | |
* Use all free RAM for FreeRTOS heap
* Wrap newlib malloc and related functions
* Implement calloc
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Also only iterate over the number of days actually in use, rather than
MaxNbForecastDays.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
There is now a Temperature struct in the weather service, which holds
the internal representation. There is also a temperature struct in the
Applications namespace, which holds the temperature in either Celsius or
Fahrenheit.
|