aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp
Commit message (Collapse)AuthorAgeFilesLines
...
* Removes redundant words to save spaceSteve Amor2025-10-213-3/+3
|
* Resolve paint corrupting screen scrollingmark90642025-10-103-1/+11
|
* Setting to disable DFU and FS access (#1891)Dāvis Mošenkovs2025-09-037-2/+95
| | | | | | | | | | | | | | * 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
* navigation: fix greying out the app icon if not enabledHeiko Stuebner2025-07-0317-3/+64
| | | | | | | | | | | | | | | | 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.
* Dark App Launcher Tiles (#2294)Titus2025-06-291-2/+1
|
* (small) Music App Redesign (#2292)Titus2025-06-291-7/+7
|
* Analog face constexpr fixmark90642025-06-281-1/+4
|
* Initialise DisplayApp components in DisplayApp contextmark90642025-06-282-13/+12
|
* Pride flag watchface (#2201)Eshe2025-06-195-0/+442
|
* BatteryInfo App Redesign: Fixup (#2310)Titus2025-06-121-6/+9
| | | | * remove leading zeros from battery percentage * add correct colors matching the battery icon color thresholds
* set static text as static text (#2312)lmamane2025-06-121-3/+1
| | | | | and save a few bytes of heap memory Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
* DisplayApp: use std::ranges function where possibleReinhold Gschweicher2025-05-301-16/+16
| | | | | Instead of raw for loops use `std::ranges::transform` where possible. And also use `std::ranges::find_if` instead of `std::find_if`.
* Refactors watch faces. Replace lv_tick_get() with xTaskGetTickCount()Steve Amor2025-05-234-6/+6
|
* Fix about screen vertical centering.Matt Zrinsky2025-05-191-1/+1
| | | | | | 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.
* Center text on timer button (#2229)Titus2025-05-161-2/+2
|
* Remove the vibration while charging (#1768)Max Friedrich2025-05-162-4/+0
| | | | | | | | | | | * 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>
* Add background color to progress bar when flashing firmware (#2237)Titus2025-05-151-1/+5
|
* Simple calculator (#1483)Max Friedrich2025-05-127-1/+464
| | | | | | 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>
* work around g++ version 12, 13 and 14 spurious warning (#2158)lmamane2025-03-141-0/+5
| | | | | which is an error since we compile with -Werror Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
* BatteryInfo App Redesign using arc (#2236)Titus2025-03-142-21/+24
| | | | | | | | | | 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
* Fix Infineat crash when charging with AOD (#2256)Steveis2025-02-262-2/+6
| | | | 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)
* Improve no notification text (#2238)Titus2025-02-101-2/+2
| | | Change the "No notification" text to "No notifications"
* Alarm: Simplify alarm alerting screen (#2211)ljahn2025-01-211-2/+10
| | | | | | | | | | | | 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
* Show alarm controller state in status iconJozef Mlich2025-01-0511-9/+44
|
* weather: Fix inverted imperial forecast temperaturesVictor Kareh2024-12-101-3/+3
| | | | | | | 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 heapFelipe Martínez2024-12-091-1/+2
| | | | | * Use all free RAM for FreeRTOS heap * Wrap newlib malloc and related functions * Implement calloc
* remove unused includeLionel Elie Mamane2024-11-251-1/+0
|
* cmake: fix python path with use multi-version pythonxz-dev2024-11-171-0/+1
|
* Ignore old GoToRunning messagesmark90642024-11-171-2/+11
|
* Weather: fix min and max temperature being switchedLionel Elie Mamane2024-11-161-2/+2
|
* weather: Switch to std::optional for Forecast daysFintasticMan2024-11-041-8/+8
| | | | | Also only iterate over the number of days actually in use, rather than MaxNbForecastDays.
* Switch to simpler temperature interfaceFintasticMan2024-11-045-60/+39
|
* weather: Refactor temperature type for type safetyFintasticMan2024-11-045-42/+61
| | | | | | | 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.
* Update Date&Time settings label for "Date & Time"Samuel Dorsaz2024-11-041-1/+1
|
* Process touch events only when awakemark90642024-10-271-1/+1
|
* Clear ongoing taps when going to sleepmark90642024-10-273-0/+14
|
* Improve sleep time calculation docsmark90642024-10-272-15/+20
|
* Replace rounded div macromark90642024-10-271-2/+5
|
* Refactor into defined statesmark90642024-10-273-28/+30
|
* Remove unused pointer to DisplayApp member variables (#2125)NeroBurner2024-09-299-14/+6
| | | | | | | | In the screens that use `DisplayApp *app` and pass it to a child item, or use the reference just in the constructor. Afterwards the `app` member is not used. So remove it from the private member variables. Completely remove `app` parameter from `SettingDisplay` constructor as it is unused.
* Alarm persist to flash (#1367)NeroBurner2024-09-281-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | * AlarmController: Add saving alarm time to file Save the set alarm time to the SPI NOR flash, so it does not reset to the default value when the watch resets, e.g. due to watchdog timeout or reflashing of a new version of InfiniTime. Just like the `Settings.h` `LoadSettingsFromFile()` the previous alarm at boot (if available) and `SaveSettingsToFile()` the current alarm when the `Alarm.h` screen is closed (only if the settings have changed). The alarm-settings file is stored in `.system/alarm.dat`. The `.system` folder is created if it doesn't yet exist. Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1330 * alarmController: close .system dir after usage Close the `lfs_dir` object for the `.system` dir after usage. Otherwise on the second changed alarm the system will lockup because the `.system` dir is already open and was never closed. --------- Co-authored-by: Galdor Takacs <g@ldor.de>
* Refactor doNotGoToSleep to a wakelock countermark90642024-09-2112-29/+30
|
* Refactor SystemTask state handling for resiliencemark90642024-09-211-3/+20
| | | | | | State transitions now happen immediately where possible This simplifies state management in general, and prevents bugs such as the chime issue from occurring in the first place
* notifications: Dismiss to watchface when empty (#1716)Eli Tan2024-09-181-4/+5
| | | | | | | | | Set `running` to false to flag end of watchface when there are no more notifications left to display. I found it slightly annoying that dismissing all notifications leaves me with a "No notification to display" message. Instead of dismissing to a relatively useless message, dismiss to watchface.
* Clean unused DisplayApp messagesmark90642024-09-142-29/+7
|
* Use DirtyValue for timermark90642024-09-142-8/+14
|
* DisplayApp: Go to clock on sleep if no app loadedVictor Kareh2024-08-221-2/+14
| | | | | | When turning off the screen, if there is no actual app loaded (i.e. we are still in the Launcher, Notifications, QuickSettings, or Settings screens) we should just reload the Clock app directly.
* Remove space before colonDerry Tutt2024-08-181-2/+2
|
* Display the SPI flash JEDEC IDs in SystemInformation.Jean-François Milants2024-08-056-8/+25
| | | | This is needed since a new memory chip will be used in future batches of PineTimes.
* aod: avoid spinning DisplayApp under high LVGL loadmark90642024-08-051-7/+9
|