2.6 KiB
2.6 KiB
Adapting old watchfaces:
- When resolving conflicts, delete clock.h/.cpp, keep both in CMakeLists.cpp, accept current in SettingWatchFace.cpp, and keep both if there are any changes in fonts.
- Add entry to WatchFace enum in displayapp/apps/Apps.h.in
- Remove
DisplayApp* app
param from constructor in .h and .cpp and remove Screen(app) from initializer list on constructor in .cpp - Add const to batteryController and bleController is present in constructor params and in private members in .h
- In .cpp, remove
#include <date/date.h>
and convert calls to get time to format like in working watch faces. For example:
auto newDateTime = currentDateTime.Get();
auto dp = date::floor<date::days>(newDateTime);
auto time = date::make_time(newDateTime - dp);
uint8_t hour = time.hours().count();
uint8_t minute = time.minutes().count();
with
uint8_t hour = dateTimeController.Hours();
uint8_t minute = dateTimeController.Minutes();
, add
Utility::DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::days>> currentDate;
to .h
- Remove
motionSensorOk = motionController.IsSensorOk();
and reference tomotionSensorOk
in following if - In .h add
#include "utility/DirtyValue.h"
and replace allDirtyValue<>
vars withUtility::DirtyValue<>
- Add WatchFaceTraits:
template <>
struct WatchFaceTraits<WatchFace::Digital> {
static constexpr WatchFace watchFace = WatchFace::Digital;
static constexpr const char* name = "Digital face";
static Screens::Screen* Create(AppControllers& controllers) {
return new Screens::WatchFaceDigital(controllers.dateTimeController,
controllers.batteryController,
controllers.bleController,
controllers.notificationManager,
controllers.settingsController,
controllers.heartRateController,
controllers.motionController, controllers.filesystem
*controllers.weatherController);
};
static bool IsAvailable(Pinetime::Controllers::FS& filesystem) {
return Screens::WatchFaceCasioStyleG7710::IsAvailable(filesystem);
}
};
modify as necesary.
- Add include to UserApps.h:
#include "displayapp/screens/WatchFace---.h"
- Add to displayapp/apps/CMakeLists.txt