Skip to content

Commit 97c761a

Browse files
committed
Refresh rework
1 parent 57b3397 commit 97c761a

72 files changed

Lines changed: 198 additions & 306 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/displayapp/DisplayApp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ void DisplayApp::Refresh() {
239239
}
240240

241241
void DisplayApp::RunningState() {
242-
if (!currentScreen->Refresh()) {
242+
if (!currentScreen->IsRunning()) {
243243
LoadApp(returnToApp, returnDirection);
244244
}
245245
lv_task_handler();

src/displayapp/screens/ApplicationList.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ ApplicationList::~ApplicationList() {
3434
lv_obj_clean(lv_scr_act());
3535
}
3636

37-
bool ApplicationList::Refresh() {
38-
if (running)
39-
running = screens.Refresh();
40-
return running;
41-
}
42-
4337
bool ApplicationList::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
4438
return screens.OnTouchEvent(event);
4539
}

src/displayapp/screens/ApplicationList.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ namespace Pinetime {
1818
Pinetime::Controllers::Battery& batteryController,
1919
Controllers::DateTime& dateTimeController);
2020
~ApplicationList() override;
21-
bool Refresh() override;
2221
bool OnTouchEvent(TouchEvents event) override;
2322

2423
private:
@@ -33,4 +32,4 @@ namespace Pinetime {
3332
};
3433
}
3534
}
36-
}
35+
}

src/displayapp/screens/BatteryInfo.cpp

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@
44

55
using namespace Pinetime::Applications::Screens;
66

7-
static void lv_update_task(struct _lv_task_t* task) {
8-
auto user_data = static_cast<BatteryInfo*>(task->user_data);
9-
user_data->UpdateScreen();
10-
}
11-
127
BatteryInfo::BatteryInfo(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Battery& batteryController)
138
: Screen(app), batteryController {batteryController} {
149

@@ -49,16 +44,16 @@ BatteryInfo::BatteryInfo(Pinetime::Applications::DisplayApp* app, Pinetime::Cont
4944
lv_obj_set_pos(backgroundLabel, 0, 0);
5045
lv_label_set_text_static(backgroundLabel, "");
5146

52-
taskUpdate = lv_task_create(lv_update_task, 5000, LV_TASK_PRIO_LOW, this);
53-
UpdateScreen();
47+
taskRefresh = lv_task_create(RefreshTaskCallback, 5000, LV_TASK_PRIO_MID, this);
48+
Refresh();
5449
}
5550

5651
BatteryInfo::~BatteryInfo() {
57-
lv_task_del(taskUpdate);
52+
lv_task_del(taskRefresh);
5853
lv_obj_clean(lv_scr_act());
5954
}
6055

61-
void BatteryInfo::UpdateScreen() {
56+
void BatteryInfo::Refresh() {
6257

6358
batteryController.Update();
6459

@@ -85,7 +80,3 @@ void BatteryInfo::UpdateScreen() {
8580
lv_label_set_text_fmt(voltage, "%1i.%02i volts", batteryVoltage / 1000, batteryVoltage % 1000 / 10);
8681
lv_bar_set_value(charging_bar, batteryPercent, LV_ANIM_ON);
8782
}
88-
89-
bool BatteryInfo::Refresh() {
90-
return running;
91-
}

src/displayapp/screens/BatteryInfo.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ namespace Pinetime {
1919
BatteryInfo(DisplayApp* app, Pinetime::Controllers::Battery& batteryController);
2020
~BatteryInfo() override;
2121

22-
bool Refresh() override;
23-
24-
void UpdateScreen();
22+
void Refresh() override;
2523

2624
private:
2725
Pinetime::Controllers::Battery& batteryController;
@@ -31,7 +29,7 @@ namespace Pinetime {
3129
lv_obj_t* charging_bar;
3230
lv_obj_t* status;
3331

34-
lv_task_t* taskUpdate;
32+
lv_task_t* taskRefresh;
3533

3634
uint8_t batteryPercent = 0;
3735
uint16_t batteryVoltage = 0;

src/displayapp/screens/Brightness.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ Brightness::~Brightness() {
3030
lv_obj_clean(lv_scr_act());
3131
}
3232

33-
bool Brightness::Refresh() {
34-
return running;
35-
}
36-
3733
const char* Brightness::LevelToString(Pinetime::Controllers::BrightnessController::Levels level) {
3834
switch (level) {
3935
case Pinetime::Controllers::BrightnessController::Levels::Off:

src/displayapp/screens/Brightness.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ namespace Pinetime {
1212
public:
1313
Brightness(DisplayApp* app, Controllers::BrightnessController& brightness);
1414
~Brightness() override;
15-
bool Refresh() override;
1615

1716
bool OnTouchEvent(TouchEvents event) override;
1817

@@ -31,4 +30,4 @@ namespace Pinetime {
3130
};
3231
}
3332
}
34-
}
33+
}

src/displayapp/screens/Clock.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,6 @@ Clock::~Clock() {
5555
lv_obj_clean(lv_scr_act());
5656
}
5757

58-
bool Clock::Refresh() {
59-
screen->Refresh();
60-
return running;
61-
}
62-
6358
bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
6459
return screen->OnTouchEvent(event);
6560
}
@@ -101,4 +96,4 @@ std::unique_ptr<Screen> Clock::WatchFaceCustomScreen() {
10196
return std::make_unique<Screens::WatchFaceCustom>(app, dateTimeController, batteryController, bleController, notificatioManager,
10297
settingsController);
10398
}
104-
*/
99+
*/

src/displayapp/screens/Clock.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ namespace Pinetime {
3434
Controllers::MotionController& motionController);
3535
~Clock() override;
3636

37-
bool Refresh() override;
38-
3937
bool OnTouchEvent(TouchEvents event) override;
4038

4139
private:

src/displayapp/screens/FirmwareUpdate.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,44 +30,47 @@ FirmwareUpdate::FirmwareUpdate(Pinetime::Applications::DisplayApp* app, Pinetime
3030
lv_label_set_text(percentLabel, "");
3131
lv_obj_set_auto_realign(percentLabel, true);
3232
lv_obj_align(percentLabel, bar1, LV_ALIGN_OUT_TOP_MID, 0, 60);
33+
34+
taskRefresh = lv_task_create(RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this);
3335
}
3436

3537
FirmwareUpdate::~FirmwareUpdate() {
38+
lv_task_del(taskRefresh);
3639
lv_obj_clean(lv_scr_act());
3740
}
3841

39-
bool FirmwareUpdate::Refresh() {
42+
void FirmwareUpdate::Refresh() {
4043
switch (bleController.State()) {
4144
default:
4245
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Idle:
4346
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Running:
4447
if (state != States::Running)
4548
state = States::Running;
46-
return DisplayProgression();
49+
DisplayProgression();
50+
return;
4751
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Validated:
4852
if (state != States::Validated) {
4953
UpdateValidated();
5054
state = States::Validated;
5155
}
52-
return running;
56+
return;
5357
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Error:
5458
if (state != States::Error) {
5559
UpdateError();
5660
state = States::Error;
5761
}
58-
return running;
62+
return;
5963
}
6064
}
6165

62-
bool FirmwareUpdate::DisplayProgression() const {
66+
void FirmwareUpdate::DisplayProgression() const {
6367
float current = bleController.FirmwareUpdateCurrentBytes() / 1024.0f;
6468
float total = bleController.FirmwareUpdateTotalBytes() / 1024.0f;
6569
int16_t pc = (current / total) * 100.0f;
6670
sprintf(percentStr, "%d %%", pc);
6771
lv_label_set_text(percentLabel, percentStr);
6872

6973
lv_bar_set_value(bar1, pc, LV_ANIM_OFF);
70-
return running;
7174
}
7275

7376
void FirmwareUpdate::UpdateValidated() {

0 commit comments

Comments
 (0)