InfiniTime.git

commit f0e8bb26e94d4fd7c063c2fe5ead76c165cad5a0

Author: Jean-François Milants <jf@codingfield.com>

Watch face selection with CMake

Move displayapp/Apps.h into a header only library (to make the integration easier in InfiniSim.

 CMakeLists.txt | 16 ++++++----------
 src/CMakeLists.txt | 14 ++++++++------
  | 0 
 src/displayapp/DisplayApp.h | 2 +-
 src/displayapp/DisplayAppRecovery.h | 2 +-
 src/displayapp/UserApps.h | 2 +-
 src/displayapp/apps/CMakeLists.txt | 6 ++++++
 src/displayapp/screens/Alarm.h | 2 +-
 src/displayapp/screens/ApplicationList.h | 2 +-
 src/displayapp/screens/CheckboxList.h | 2 +-
 src/displayapp/screens/InfiniPaint.h | 2 +-
 src/displayapp/screens/List.h | 2 +-
 src/displayapp/screens/Motion.h | 2 +-
 src/displayapp/screens/Music.h | 2 +-
 src/displayapp/screens/Navigation.h | 2 +-
 src/displayapp/screens/Paddle.h | 2 +-
 src/displayapp/screens/Steps.h | 2 +-
 src/displayapp/screens/StopWatch.h | 2 +-
 src/displayapp/screens/Tile.h | 2 +-
 src/displayapp/screens/Twos.h | 2 +-
 src/displayapp/screens/settings/Settings.cpp | 2 +-


diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1537bda6c3e30d22b7a9d55915c08c5093af3117..ca6b45bf5d126827eb646e5814399d7d1301577e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,12 +34,6 @@
 set(TARGET_DEVICE "PINETIME" CACHE STRING "Target device")
 set_property(CACHE TARGET_DEVICE PROPERTY STRINGS PINETIME MOY_TFK5 MOY_TIN5 MOY_TON5 MOY_UNK)
 
-if(ENABLE_USERAPPS)
-  set(USERAPP_TYPES ${ENABLE_USERAPPS})
-else ()
-  set(USERAPP_TYPES "Apps::Navigation, Apps::StopWatch, Apps::Alarm, Apps::Timer, Apps::Steps, Apps::HeartRate, Apps::Music, Apps::Paint, Apps::Paddle, Apps::Twos, Apps::Metronome")
-endif ()
-
 set(PROJECT_GIT_COMMIT_HASH "")
 
 execute_process(COMMAND git rev-parse --short HEAD
@@ -51,6 +45,12 @@ string(STRIP "${PROJECT_GIT_COMMIT_HASH}" PROJECT_GIT_COMMIT_HASH)
 
 message("PROJECT_GIT_COMMIT_HASH_SUCCESS? " ${PROJECT_GIT_COMMIT_HASH_SUCCESS})
 
+if(DEFINED ENABLE_USERAPPS)
+  set(USERAPP_TYPES ${ENABLE_USERAPPS} CACHE STRING "List of user apps to build into the firmware")
+else ()
+  set(USERAPP_TYPES "Apps::Navigation, Apps::StopWatch, Apps::Alarm, Apps::Timer, Apps::Steps, Apps::HeartRate, Apps::Music, Apps::Paint, Apps::Paddle, Apps::Twos, Apps::Metronome" CACHE STRING "List of user apps to build into the firmware")
+endif ()
+
 message("")
 message("BUILD CONFIGURATION")
 message("-------------------")
@@ -70,13 +70,9 @@   message("    * Build resources : Enabled")
 else()
   message("    * Build resources : Disabled")
 endif()
-message("    * User apps : " ${USERAPP_TYPES})
 
 set(VERSION_EDIT_WARNING "// Do not edit this file, it is automatically generated by CMAKE!")
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/Version.h)
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docker/post_build.sh.in ${CMAKE_CURRENT_BINARY_DIR}/post_build.sh)
-
-# Generate the list of user apps to be compiled into the firmware
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/displayapp/Apps.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/displayapp/Apps.h)
 
 add_subdirectory(src)




diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bb7b90c006f07e1c356b8f85e28508d6e5282d48..b9f333f6b7e5ebb2c39274cf97356a8130d49aa1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -845,6 +845,8 @@         $<$: ${CXX_FLAGS}>
         $<$<COMPILE_LANGUAGE:ASM>: ${ASM_FLAGS}>
         )
 
+add_subdirectory(displayapp/apps)
+
 # NRF SDK
 add_library(nrf-sdk STATIC ${SDK_SOURCE_FILES})
 target_include_directories(nrf-sdk SYSTEM PUBLIC . ../)
@@ -900,7 +902,7 @@ set(EXECUTABLE_FILE_NAME ${EXECUTABLE_NAME}-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})
 set(NRF5_LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/gcc_nrf52.ld")
 add_executable(${EXECUTABLE_NAME} ${SOURCE_FILES})
 set_target_properties(${EXECUTABLE_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_FILE_NAME})
-target_link_libraries(${EXECUTABLE_NAME} nimble nrf-sdk lvgl littlefs infinitime_fonts)
+target_link_libraries(${EXECUTABLE_NAME} nimble nrf-sdk lvgl littlefs infinitime_fonts infinitime_apps)
 target_compile_options(${EXECUTABLE_NAME} PUBLIC
         ${COMMON_FLAGS}
         ${WARNING_FLAGS}
@@ -934,7 +936,7 @@ set(IMAGE_MCUBOOT_FILE_NAME_BIN ${EXECUTABLE_MCUBOOT_NAME}-image-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH}.bin)
 set(DFU_MCUBOOT_FILE_NAME ${EXECUTABLE_MCUBOOT_NAME}-dfu-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH}.zip)
 set(NRF5_LINKER_SCRIPT_MCUBOOT "${CMAKE_SOURCE_DIR}/gcc_nrf52-mcuboot.ld")
 add_executable(${EXECUTABLE_MCUBOOT_NAME} ${SOURCE_FILES})
-target_link_libraries(${EXECUTABLE_MCUBOOT_NAME} nimble nrf-sdk lvgl littlefs infinitime_fonts)
+target_link_libraries(${EXECUTABLE_MCUBOOT_NAME} nimble nrf-sdk lvgl littlefs infinitime_fonts infinitime_apps)
 set_target_properties(${EXECUTABLE_MCUBOOT_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_MCUBOOT_FILE_NAME})
 target_compile_options(${EXECUTABLE_MCUBOOT_NAME} PUBLIC
         ${COMMON_FLAGS}
@@ -976,7 +978,7 @@ # InfiniTime recovery firmware (autonomous)
 set(EXECUTABLE_RECOVERY_NAME "pinetime-recovery")
 set(EXECUTABLE_RECOVERY_FILE_NAME ${EXECUTABLE_RECOVERY_NAME}-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})
 add_executable(${EXECUTABLE_RECOVERY_NAME} ${RECOVERY_SOURCE_FILES})
-target_link_libraries(${EXECUTABLE_RECOVERY_NAME} nimble nrf-sdk littlefs infinitime_fonts)
+target_link_libraries(${EXECUTABLE_RECOVERY_NAME} nimble nrf-sdk littlefs infinitime_fonts infinitime_apps)
 set_target_properties(${EXECUTABLE_RECOVERY_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_RECOVERY_FILE_NAME})
 target_compile_definitions(${EXECUTABLE_RECOVERY_NAME} PUBLIC "PINETIME_IS_RECOVERY")
 target_compile_options(${EXECUTABLE_RECOVERY_NAME} PUBLIC
@@ -1008,7 +1010,7 @@ set(IMAGE_RECOVERY_MCUBOOT_FILE_NAME ${EXECUTABLE_RECOVERY_MCUBOOT_NAME}-image-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})
 set(IMAGE_RECOVERY_MCUBOOT_FILE_NAME_HEX ${IMAGE_RECOVERY_MCUBOOT_FILE_NAME}.hex)
 set(DFU_RECOVERY_MCUBOOT_FILE_NAME ${EXECUTABLE_RECOVERY_MCUBOOT_NAME}-dfu-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH}.zip)
 add_executable(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} ${RECOVERY_SOURCE_FILES})
-target_link_libraries(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} nimble nrf-sdk littlefs infinitime_fonts)
+target_link_libraries(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} nimble nrf-sdk littlefs infinitime_fonts infinitime_apps)
 set_target_properties(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_RECOVERY_MCUBOOT_FILE_NAME})
 target_compile_definitions(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} PUBLIC "PINETIME_IS_RECOVERY")
 target_compile_options(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} PUBLIC
@@ -1048,7 +1050,7 @@ # Build binary that writes the recovery image into the SPI flash memory
 set(EXECUTABLE_RECOVERYLOADER_NAME "pinetime-recovery-loader")
 set(EXECUTABLE_RECOVERYLOADER_FILE_NAME ${EXECUTABLE_RECOVERYLOADER_NAME}-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})
 add_executable(${EXECUTABLE_RECOVERYLOADER_NAME} ${RECOVERYLOADER_SOURCE_FILES})
-target_link_libraries(${EXECUTABLE_RECOVERYLOADER_NAME} nrf-sdk infinitime_fonts)
+target_link_libraries(${EXECUTABLE_RECOVERYLOADER_NAME} nrf-sdk infinitime_fonts infinitime_apps)
 set_target_properties(${EXECUTABLE_RECOVERYLOADER_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_RECOVERYLOADER_FILE_NAME})
 target_compile_options(${EXECUTABLE_RECOVERYLOADER_NAME} PUBLIC
         ${COMMON_FLAGS}
@@ -1083,7 +1085,7 @@ set(IMAGE_MCUBOOT_RECOVERYLOADER_FILE_NAME ${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME}-image-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})
 set(IMAGE_MCUBOOT_RECOVERYLOADER_FILE_NAME_HEX ${IMAGE_MCUBOOT_RECOVERYLOADER_FILE_NAME}.hex)
 set(DFU_MCUBOOT_RECOVERYLOADER_FILE_NAME ${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME}-dfu-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH}.zip)
 add_executable(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} ${RECOVERYLOADER_SOURCE_FILES})
-target_link_libraries(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} nrf-sdk infinitime_fonts)
+target_link_libraries(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} nrf-sdk infinitime_fonts infinitime_apps)
 set_target_properties(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} PROPERTIES OUTPUT_NAME ${EXECUTABLE_MCUBOOT_RECOVERYLOADER_FILE_NAME})
 target_compile_options(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} PUBLIC
         ${COMMON_FLAGS}




diff --git a/src/displayapp/Apps.h.in b/src/displayapp/Apps.h.in
deleted file mode 100644
index 23ad12a345424a38d88e9380486b17b7b57141af..0000000000000000000000000000000000000000
--- a/src/displayapp/Apps.h.in
+++ /dev/null
@@ -1,99 +0,0 @@
-#pragma once
-#include <cstddef>
-#include <cstdint>
-
-namespace Pinetime {
-  namespace Applications {
-    enum class Apps : uint8_t {
-      None,
-      Launcher,
-      Clock,
-      SysInfo,
-      FirmwareUpdate,
-      FirmwareValidation,
-      NotificationsPreview,
-      Notifications,
-      Timer,
-      Alarm,
-      FlashLight,
-      BatteryInfo,
-      Music,
-      Paint,
-      Paddle,
-      Twos,
-      HeartRate,
-      Navigation,
-      StopWatch,
-      Metronome,
-      Motion,
-      Steps,
-      PassKey,
-      QuickSettings,
-      Settings,
-      SettingWatchFace,
-      SettingTimeFormat,
-      SettingDisplay,
-      SettingWakeUp,
-      SettingSteps,
-      SettingSetDateTime,
-      SettingChimes,
-      SettingShakeThreshold,
-      SettingBluetooth,
-      Error,
-      Weather
-    };
-
-    enum class WatchFace : uint8_t {
-      Digital,
-      Analog,
-      PineTimeStyle,
-      Terminal,
-      Infineat,
-      CasioStyleG7710,
-    };
-
-    template <Apps>
-    struct AppTraits {};
-
-    template <WatchFace>
-    struct WatchFaceTraits {};
-
-    template <Apps... As>
-    struct TypeList {
-      static constexpr size_t Count = sizeof...(As);
-    };
-
-    using UserAppTypes = TypeList<@USERAPP_TYPES@>;
-
-    template <WatchFace... Ws>
-    struct WatchFaceTypeList {
-      static constexpr size_t Count = sizeof...(Ws);
-    };
-
-    using UserAppTypes = TypeList<Apps::StopWatch,
-                                  Apps::Alarm,
-                                  Apps::Timer,
-                                  Apps::Steps,
-                                  Apps::HeartRate,
-                                  Apps::Music,
-                                  Apps::Paint,
-                                  Apps::Paddle,
-                                  Apps::Twos,
-                                  Apps::Metronome,
-                                  Apps::Navigation
-                                  /*
-                                  Apps::Weather,
-                                  Apps::Motion
-                                  */
-                                  >;
-
-    using UserWatchFaceTypes = WatchFaceTypeList<WatchFace::Digital,
-                                                 WatchFace::Analog,
-                                                 WatchFace::PineTimeStyle,
-                                                 WatchFace::Terminal,
-                                                 WatchFace::Infineat,
-                                                 WatchFace::CasioStyleG7710>;
-
-    static_assert(UserWatchFaceTypes::Count >= 1);
-  }
-}




diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h
index 349ca0142437af14353cdb87bd1f3aaab32a718e..96bce4dd1df629aa5f322f229c4bf12e4f4530fa 100644
--- a/src/displayapp/DisplayApp.h
+++ b/src/displayapp/DisplayApp.h
@@ -4,7 +4,7 @@ #include 
 #include <task.h>
 #include <memory>
 #include <systemtask/Messages.h>
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/LittleVgl.h"
 #include "displayapp/TouchEvents.h"
 #include "components/brightness/BrightnessController.h"




diff --git a/src/displayapp/DisplayAppRecovery.h b/src/displayapp/DisplayAppRecovery.h
index fd79ef287b07ec0b38e2adcb275753a19d48a666..3a5c78d9095638dd3f6658d705c1b4909e509585 100644
--- a/src/displayapp/DisplayAppRecovery.h
+++ b/src/displayapp/DisplayAppRecovery.h
@@ -11,7 +11,7 @@ #include 
 #include <components/motor/MotorController.h>
 #include "BootErrors.h"
 #include "displayapp/TouchEvents.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Messages.h"
 
 namespace Pinetime {




diff --git a/src/displayapp/UserApps.h b/src/displayapp/UserApps.h
index 985b335fbc08b06e024ca90ccca71da034586be1..0307035a011bbee39d51ba76e5f65dc53325837b 100644
--- a/src/displayapp/UserApps.h
+++ b/src/displayapp/UserApps.h
@@ -1,5 +1,5 @@
 #pragma once
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "Controllers.h"
 
 #include "displayapp/screens/Alarm.h"




diff --git a/src/displayapp/apps/Apps.h.in b/src/displayapp/apps/Apps.h.in
new file mode 100644
index 0000000000000000000000000000000000000000..23ad12a345424a38d88e9380486b17b7b57141af
--- /dev/null
+++ b/src/displayapp/apps/Apps.h.in
@@ -0,0 +1,99 @@
+#pragma once
+#include <cstddef>
+#include <cstdint>
+
+namespace Pinetime {
+  namespace Applications {
+    enum class Apps : uint8_t {
+      None,
+      Launcher,
+      Clock,
+      SysInfo,
+      FirmwareUpdate,
+      FirmwareValidation,
+      NotificationsPreview,
+      Notifications,
+      Timer,
+      Alarm,
+      FlashLight,
+      BatteryInfo,
+      Music,
+      Paint,
+      Paddle,
+      Twos,
+      HeartRate,
+      Navigation,
+      StopWatch,
+      Metronome,
+      Motion,
+      Steps,
+      PassKey,
+      QuickSettings,
+      Settings,
+      SettingWatchFace,
+      SettingTimeFormat,
+      SettingDisplay,
+      SettingWakeUp,
+      SettingSteps,
+      SettingSetDateTime,
+      SettingChimes,
+      SettingShakeThreshold,
+      SettingBluetooth,
+      Error,
+      Weather
+    };
+
+    enum class WatchFace : uint8_t {
+      Digital,
+      Analog,
+      PineTimeStyle,
+      Terminal,
+      Infineat,
+      CasioStyleG7710,
+    };
+
+    template <Apps>
+    struct AppTraits {};
+
+    template <WatchFace>
+    struct WatchFaceTraits {};
+
+    template <Apps... As>
+    struct TypeList {
+      static constexpr size_t Count = sizeof...(As);
+    };
+
+    using UserAppTypes = TypeList<@USERAPP_TYPES@>;
+
+    template <WatchFace... Ws>
+    struct WatchFaceTypeList {
+      static constexpr size_t Count = sizeof...(Ws);
+    };
+
+    using UserAppTypes = TypeList<Apps::StopWatch,
+                                  Apps::Alarm,
+                                  Apps::Timer,
+                                  Apps::Steps,
+                                  Apps::HeartRate,
+                                  Apps::Music,
+                                  Apps::Paint,
+                                  Apps::Paddle,
+                                  Apps::Twos,
+                                  Apps::Metronome,
+                                  Apps::Navigation
+                                  /*
+                                  Apps::Weather,
+                                  Apps::Motion
+                                  */
+                                  >;
+
+    using UserWatchFaceTypes = WatchFaceTypeList<WatchFace::Digital,
+                                                 WatchFace::Analog,
+                                                 WatchFace::PineTimeStyle,
+                                                 WatchFace::Terminal,
+                                                 WatchFace::Infineat,
+                                                 WatchFace::CasioStyleG7710>;
+
+    static_assert(UserWatchFaceTypes::Count >= 1);
+  }
+}




diff --git a/src/displayapp/apps/CMakeLists.txt b/src/displayapp/apps/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..808496e541b498d05d63b6a15c71555f740cb56c
--- /dev/null
+++ b/src/displayapp/apps/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_library(infinitime_apps INTERFACE)
+target_sources(infinitime_apps INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/Apps.h")
+target_include_directories(infinitime_apps INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/")
+
+# Generate the list of user apps to be compiled into the firmware
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Apps.h.in ${CMAKE_CURRENT_BINARY_DIR}/Apps.h)
\ No newline at end of file




diff --git a/src/displayapp/screens/Alarm.h b/src/displayapp/screens/Alarm.h
index d8ed9668dc471f2011ef2fa63e3fe5de097bed1f..993d65d171b93675a284603ebdbaf31c50c8520f 100644
--- a/src/displayapp/screens/Alarm.h
+++ b/src/displayapp/screens/Alarm.h
@@ -17,7 +17,7 @@     along with this program.  If not, see .
 */
 #pragma once
 
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "components/settings/Settings.h"
 #include "displayapp/screens/Screen.h"
 #include "displayapp/widgets/Counter.h"




diff --git a/src/displayapp/screens/ApplicationList.h b/src/displayapp/screens/ApplicationList.h
index 978f0287497679692238c918ba6aca9eec5d0d99..41a413af1a44a37674a65a9a89f92a24a21a6762 100644
--- a/src/displayapp/screens/ApplicationList.h
+++ b/src/displayapp/screens/ApplicationList.h
@@ -2,7 +2,7 @@ #pragma once
 
 #include <array>
 #include <memory>
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "Screen.h"
 #include "ScreenList.h"
 #include "displayapp/Controllers.h"




diff --git a/src/displayapp/screens/CheckboxList.h b/src/displayapp/screens/CheckboxList.h
index c208bc489d6f8a7c8757285ded2259b436c6d8b9..c6119970a14f0eb11646393205fd6cb83d91b491 100644
--- a/src/displayapp/screens/CheckboxList.h
+++ b/src/displayapp/screens/CheckboxList.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/screens/Screen.h"
 #include <array>
 #include <cstdint>




diff --git a/src/displayapp/screens/InfiniPaint.h b/src/displayapp/screens/InfiniPaint.h
index f7d6de535eee63edaa6647fd5f0edca908de84e6..b1f9741a02d8e4cf9cfcd7ffa275e6520d02101e 100644
--- a/src/displayapp/screens/InfiniPaint.h
+++ b/src/displayapp/screens/InfiniPaint.h
@@ -6,7 +6,7 @@ #include  // std::fill
 #include "displayapp/screens/Screen.h"
 #include "components/motor/MotorController.h"
 #include "Symbols.h"
-#include <displayapp/Apps.h>
+#include "displayapp/apps/Apps.h"
 #include <displayapp/Controllers.h>
 
 namespace Pinetime {




diff --git a/src/displayapp/screens/List.h b/src/displayapp/screens/List.h
index 564229e69495d1dfe7c107ef15b751a039210d2d..17a25f8209ecdd29efcf553e8aa629f0d80f14d2 100644
--- a/src/displayapp/screens/List.h
+++ b/src/displayapp/screens/List.h
@@ -5,7 +5,7 @@ #include 
 #include <array>
 #include "displayapp/screens/Screen.h"
 #include "displayapp/widgets/PageIndicator.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "components/settings/Settings.h"
 
 #define MAXLISTITEMS 4




diff --git a/src/displayapp/screens/Motion.h b/src/displayapp/screens/Motion.h
index 9cd126f440a56fc9d0584b6f44322b24621d3de9..e13e068cd92810ec114377eae43bd5b3cf312357 100644
--- a/src/displayapp/screens/Motion.h
+++ b/src/displayapp/screens/Motion.h
@@ -7,7 +7,7 @@ #include 
 #include <lvgl/src/lv_core/lv_obj.h>
 #include <components/motion/MotionController.h>
 #include "displayapp/Controllers.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 
 namespace Pinetime {
   namespace Applications {




diff --git a/src/displayapp/screens/Music.h b/src/displayapp/screens/Music.h
index 062bd968aff7f5bd0d23dc1e1a0c63de46bce2f6..522533215b2eea725da214c7a61fee5923cdd42f 100644
--- a/src/displayapp/screens/Music.h
+++ b/src/displayapp/screens/Music.h
@@ -21,7 +21,7 @@ #include 
 #include <lvgl/src/lv_core/lv_obj.h>
 #include <string>
 #include "displayapp/screens/Screen.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Controllers.h"
 #include "Symbols.h"
 




diff --git a/src/displayapp/screens/Navigation.h b/src/displayapp/screens/Navigation.h
index e62745b2ca661fa6a46bd06686a682d52170c35d..5c7a04299f996e2064a84db25a3c8cc92cadd13d 100644
--- a/src/displayapp/screens/Navigation.h
+++ b/src/displayapp/screens/Navigation.h
@@ -22,7 +22,7 @@ #include 
 #include <string>
 #include "displayapp/screens/Screen.h"
 #include <array>
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Controllers.h"
 #include "Symbols.h"
 




diff --git a/src/displayapp/screens/Paddle.h b/src/displayapp/screens/Paddle.h
index 1ea25158817cd921d18e4f472ca116a9af6b1338..586cccf4cf478d3a6f9032b4e639405709cfaa52 100644
--- a/src/displayapp/screens/Paddle.h
+++ b/src/displayapp/screens/Paddle.h
@@ -3,7 +3,7 @@
 #include <lvgl/lvgl.h>
 #include <cstdint>
 #include "displayapp/screens/Screen.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Controllers.h"
 #include "Symbols.h"
 




diff --git a/src/displayapp/screens/Steps.h b/src/displayapp/screens/Steps.h
index 428e4b298045aed9a6d2ee398bb9d5bfaecf9105..6443582f5efe3147d85703c49ef859da4865a3b8 100644
--- a/src/displayapp/screens/Steps.h
+++ b/src/displayapp/screens/Steps.h
@@ -4,7 +4,7 @@ #include 
 #include <lvgl/lvgl.h>
 #include "displayapp/screens/Screen.h"
 #include <components/motion/MotionController.h>
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Controllers.h"
 #include "Symbols.h"
 




diff --git a/src/displayapp/screens/StopWatch.h b/src/displayapp/screens/StopWatch.h
index b3bbba8744bdf9626cb82384096d20cf14c2b678..3386d042b8b6808afbff261a9e311be3d7216517 100644
--- a/src/displayapp/screens/StopWatch.h
+++ b/src/displayapp/screens/StopWatch.h
@@ -7,7 +7,7 @@ #include 
 #include "portmacro_cmsis.h"
 
 #include "systemtask/SystemTask.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/Controllers.h"
 #include "Symbols.h"
 




diff --git a/src/displayapp/screens/Tile.h b/src/displayapp/screens/Tile.h
index 8c1cd12cdc9422c1e8be1764a90f6137082dd975..f1b86246cec4c5b9497cc3aa422b0537d96e4e72 100644
--- a/src/displayapp/screens/Tile.h
+++ b/src/displayapp/screens/Tile.h
@@ -4,7 +4,7 @@ #include 
 #include <cstdint>
 #include <memory>
 #include "displayapp/screens/Screen.h"
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "components/datetime/DateTimeController.h"
 #include "components/settings/Settings.h"
 #include "components/battery/BatteryController.h"




diff --git a/src/displayapp/screens/Twos.h b/src/displayapp/screens/Twos.h
index d983d13640af243ae7b033c2eae5e42e0a3aee82..52449fd36c0a043d7e3fdd39d943047ab62d2b07 100644
--- a/src/displayapp/screens/Twos.h
+++ b/src/displayapp/screens/Twos.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/screens/Screen.h"
 #include "displayapp/Controllers.h"
 




diff --git a/src/displayapp/screens/settings/Settings.cpp b/src/displayapp/screens/settings/Settings.cpp
index 065417fa7c3f99d83b15a647edbab5a7afd0ae44..cb5ba413e8ccd893e4e5acc8dced1bfc72df326e 100644
--- a/src/displayapp/screens/settings/Settings.cpp
+++ b/src/displayapp/screens/settings/Settings.cpp
@@ -1,7 +1,7 @@
 #include "displayapp/screens/settings/Settings.h"
 #include <lvgl/lvgl.h>
 #include <functional>
-#include "displayapp/Apps.h"
+#include "displayapp/apps/Apps.h"
 #include "displayapp/DisplayApp.h"
 
 using namespace Pinetime::Applications::Screens;