Skip to content

Commit 7c7a860

Browse files
committed
screens: Remove displayapp parameter from screen
The DisplayApp class isn't used in the Screen base class and most screens, so requiring it is pointless. In this commit, DisplayApp pointers were added to screens which use it and the explicit Screen constructor was removed in those screens.
1 parent e2d4084 commit 7c7a860

30 files changed

+44
-29
lines changed

src/displayapp/screens/ApplicationList.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ ApplicationList::ApplicationList(Pinetime::Applications::DisplayApp* app,
2323
const Pinetime::Controllers::Battery& batteryController,
2424
const Pinetime::Controllers::Ble& bleController,
2525
Controllers::DateTime& dateTimeController)
26-
: Screen(app),
26+
: app {app},
2727
settingsController {settingsController},
2828
batteryController {batteryController},
2929
bleController {bleController},

src/displayapp/screens/ApplicationList.h

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ namespace Pinetime {
2525
bool OnTouchEvent(TouchEvents event) override;
2626

2727
private:
28+
DisplayApp* app;
2829
auto CreateScreenList() const;
2930
std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const;
3031

src/displayapp/screens/Clock.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Clock::Clock(DisplayApp* app,
2626
Controllers::HeartRateController& heartRateController,
2727
Controllers::MotionController& motionController,
2828
Controllers::FS& filesystem)
29-
: Screen(app),
29+
: app {app},
3030
dateTimeController {dateTimeController},
3131
batteryController {batteryController},
3232
bleController {bleController},

src/displayapp/screens/Clock.h

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ namespace Pinetime {
3636
bool OnButtonPushed() override;
3737

3838
private:
39+
DisplayApp* app;
3940
Controllers::DateTime& dateTimeController;
4041
const Controllers::Battery& batteryController;
4142
const Controllers::Ble& bleController;

src/displayapp/screens/Label.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
using namespace Pinetime::Applications::Screens;
44

5-
Label::Label(uint8_t screenID, uint8_t numScreens, Pinetime::Applications::DisplayApp* app, lv_obj_t* labelText)
6-
: Screen(app), labelText {labelText}, pageIndicator(screenID, numScreens) {
5+
Label::Label(uint8_t screenID, uint8_t numScreens, lv_obj_t* labelText)
6+
: labelText {labelText}, pageIndicator(screenID, numScreens) {
77

88
pageIndicator.Create();
99
}

src/displayapp/screens/Label.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Pinetime {
1010

1111
class Label : public Screen {
1212
public:
13-
Label(uint8_t screenID, uint8_t numScreens, DisplayApp* app, lv_obj_t* labelText);
13+
Label(uint8_t screenID, uint8_t numScreens, lv_obj_t* labelText);
1414
~Label() override;
1515

1616
private:

src/displayapp/screens/List.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ List::List(uint8_t screenID,
1717
DisplayApp* app,
1818
Controllers::Settings& settingsController,
1919
std::array<Applications, MAXLISTITEMS>& applications)
20-
: Screen(app), settingsController {settingsController}, pageIndicator(screenID, numScreens) {
20+
: app {app}, settingsController {settingsController}, pageIndicator(screenID, numScreens) {
2121

2222
// Set the background to Black
2323
lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0, 0, 0));

src/displayapp/screens/List.h

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ namespace Pinetime {
3131
void OnButtonEvent(lv_obj_t* object, lv_event_t event);
3232

3333
private:
34+
DisplayApp* app;
3435
Controllers::Settings& settingsController;
3536
Pinetime::Applications::Apps apps[MAXLISTITEMS];
3637

src/displayapp/screens/Notifications.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Notifications::Notifications(DisplayApp* app,
1616
Pinetime::Controllers::MotorController& motorController,
1717
System::SystemTask& systemTask,
1818
Modes mode)
19-
: Screen(app),
19+
: app {app},
2020
notificationManager {notificationManager},
2121
alertNotificationService {alertNotificationService},
2222
motorController {motorController},

src/displayapp/screens/Notifications.h

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ namespace Pinetime {
6969
};
7070

7171
private:
72+
DisplayApp* app;
7273
Pinetime::Controllers::NotificationManager& notificationManager;
7374
Pinetime::Controllers::AlertNotificationService& alertNotificationService;
7475
Pinetime::Controllers::MotorController& motorController;

src/displayapp/screens/Screen.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,11 @@ namespace Pinetime {
5050
}
5151

5252
public:
53-
explicit Screen(DisplayApp* app) : app {app} {
53+
explicit Screen(DisplayApp* app) {
5454
}
5555

56+
explicit Screen() = default;
57+
5658
virtual ~Screen() = default;
5759

5860
static void RefreshTaskCallback(lv_task_t* task);
@@ -77,7 +79,6 @@ namespace Pinetime {
7779
}
7880

7981
protected:
80-
DisplayApp* app;
8182
bool running = true;
8283
};
8384
}

src/displayapp/screens/ScreenList.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace Pinetime {
1919
uint8_t initScreen,
2020
const std::array<std::function<std::unique_ptr<Screen>()>, N>&& screens,
2121
ScreenListModes mode)
22-
: Screen(app),
22+
: app {app},
2323
initScreen {initScreen},
2424
screens {std::move(screens)},
2525
mode {mode},
@@ -102,6 +102,7 @@ namespace Pinetime {
102102
}
103103

104104
private:
105+
DisplayApp* app;
105106
uint8_t initScreen = 0;
106107
const std::array<std::function<std::unique_ptr<Screen>()>, N> screens;
107108
ScreenListModes mode = ScreenListModes::UpDown;

src/displayapp/screens/SystemInfo.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ SystemInfo::SystemInfo(Pinetime::Applications::DisplayApp* app,
3838
Pinetime::Drivers::WatchdogView& watchdog,
3939
Pinetime::Controllers::MotionController& motionController,
4040
const Pinetime::Drivers::Cst816S& touchPanel)
41-
: Screen(app),
41+
: app {app},
4242
dateTimeController {dateTimeController},
4343
batteryController {batteryController},
4444
brightnessController {brightnessController},
@@ -94,7 +94,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen1() {
9494
BootloaderVersion::VersionString());
9595
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
9696
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
97-
return std::make_unique<Screens::Label>(0, 5, app, label);
97+
return std::make_unique<Screens::Label>(0, 5, label);
9898
}
9999

100100
std::unique_ptr<Screen> SystemInfo::CreateScreen2() {
@@ -173,7 +173,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen2() {
173173
touchPanel.GetFwVersion(),
174174
TARGET_DEVICE_NAME);
175175
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
176-
return std::make_unique<Screens::Label>(1, 5, app, label);
176+
return std::make_unique<Screens::Label>(1, 5, label);
177177
}
178178

179179
std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
@@ -204,7 +204,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
204204
mon.frag_pct,
205205
static_cast<int>(mon.free_biggest_size));
206206
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
207-
return std::make_unique<Screens::Label>(2, 5, app, label);
207+
return std::make_unique<Screens::Label>(2, 5, label);
208208
}
209209

210210
bool SystemInfo::sortById(const TaskStatus_t& lhs, const TaskStatus_t& rhs) {
@@ -265,7 +265,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen4() {
265265
}
266266
lv_table_set_cell_value(infoTask, i + 1, 3, buffer);
267267
}
268-
return std::make_unique<Screens::Label>(3, 5, app, infoTask);
268+
return std::make_unique<Screens::Label>(3, 5, infoTask);
269269
}
270270

271271
std::unique_ptr<Screen> SystemInfo::CreateScreen5() {
@@ -282,5 +282,5 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen5() {
282282
"#FFFF00 InfiniTime#");
283283
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
284284
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
285-
return std::make_unique<Screens::Label>(4, 5, app, label);
285+
return std::make_unique<Screens::Label>(4, 5, label);
286286
}

src/displayapp/screens/SystemInfo.h

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ namespace Pinetime {
3434
bool OnTouchEvent(TouchEvents event) override;
3535

3636
private:
37+
DisplayApp* app;
3738
Pinetime::Controllers::DateTime& dateTimeController;
3839
const Pinetime::Controllers::Battery& batteryController;
3940
Pinetime::Controllers::BrightnessController& brightnessController;

src/displayapp/screens/Tile.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Tile::Tile(uint8_t screenID,
3232
const Controllers::Ble& bleController,
3333
Controllers::DateTime& dateTimeController,
3434
std::array<Applications, 6>& applications)
35-
: Screen(app),
35+
: app {app},
3636
dateTimeController {dateTimeController},
3737
pageIndicator(screenID, numScreens),
3838
statusIcons(batteryController, bleController) {

src/displayapp/screens/Tile.h

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ namespace Pinetime {
3636
void OnValueChangedEvent(lv_obj_t* obj, uint32_t buttonId);
3737

3838
private:
39+
DisplayApp* app;
3940
Controllers::DateTime& dateTimeController;
4041

4142
lv_task_t* taskUpdate;

src/displayapp/screens/Weather.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
using namespace Pinetime::Applications::Screens;
2727

2828
Weather::Weather(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::WeatherService& weather)
29-
: Screen(app),
29+
: app {app},
3030
weatherService(weather),
3131
screens {app,
3232
0,
@@ -97,7 +97,7 @@ std::unique_ptr<Screen> Weather::CreateScreenTemperature() {
9797
}
9898
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
9999
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
100-
return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label));
100+
return std::unique_ptr<Screen>(new Screens::Label(0, 5, label));
101101
}
102102

103103
std::unique_ptr<Screen> Weather::CreateScreenAir() {
@@ -130,7 +130,7 @@ std::unique_ptr<Screen> Weather::CreateScreenAir() {
130130
}
131131
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
132132
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
133-
return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label));
133+
return std::unique_ptr<Screen>(new Screens::Label(0, 5, label));
134134
}
135135

136136
std::unique_ptr<Screen> Weather::CreateScreenClouds() {
@@ -159,7 +159,7 @@ std::unique_ptr<Screen> Weather::CreateScreenClouds() {
159159
}
160160
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
161161
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
162-
return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label));
162+
return std::unique_ptr<Screen>(new Screens::Label(0, 5, label));
163163
}
164164

165165
std::unique_ptr<Screen> Weather::CreateScreenPrecipitation() {
@@ -188,7 +188,7 @@ std::unique_ptr<Screen> Weather::CreateScreenPrecipitation() {
188188
}
189189
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
190190
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
191-
return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label));
191+
return std::unique_ptr<Screen>(new Screens::Label(0, 5, label));
192192
}
193193

194194
std::unique_ptr<Screen> Weather::CreateScreenHumidity() {
@@ -217,5 +217,5 @@ std::unique_ptr<Screen> Weather::CreateScreenHumidity() {
217217
}
218218
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
219219
lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
220-
return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label));
220+
return std::unique_ptr<Screen>(new Screens::Label(0, 5, label));
221221
}

src/displayapp/screens/Weather.h

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ namespace Pinetime {
2323
bool OnTouchEvent(TouchEvents event) override;
2424

2525
private:
26+
DisplayApp* app;
2627
bool running = true;
2728

2829
Controllers::WeatherService& weatherService;

src/displayapp/screens/settings/QuickSettings.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
3434
Controllers::MotorController& motorController,
3535
Pinetime::Controllers::Settings& settingsController,
3636
const Controllers::Ble& bleController)
37-
: Screen(app),
37+
: app {app},
3838
dateTimeController {dateTimeController},
3939
brightness {brightness},
4040
motorController {motorController},

src/displayapp/screens/settings/QuickSettings.h

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ namespace Pinetime {
3232
void UpdateScreen();
3333

3434
private:
35+
DisplayApp* app;
3536
Controllers::DateTime& dateTimeController;
3637
Controllers::BrightnessController& brightness;
3738
Controllers::MotorController& motorController;

src/displayapp/screens/settings/SettingBluetooth.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ namespace {
3535
}
3636

3737
SettingBluetooth::SettingBluetooth(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
38-
: Screen(app),
38+
: app {app},
3939
checkboxList(
4040
0,
4141
1,

src/displayapp/screens/settings/SettingBluetooth.h

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ namespace Pinetime {
1919
~SettingBluetooth() override;
2020

2121
private:
22+
DisplayApp* app;
2223
CheckboxList checkboxList;
2324
};
2425
}

src/displayapp/screens/settings/SettingDisplay.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace {
1818
constexpr std::array<uint16_t, 6> SettingDisplay::options;
1919

2020
SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
21-
: Screen(app), settingsController {settingsController} {
21+
: app {app}, settingsController {settingsController} {
2222

2323
lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr);
2424

src/displayapp/screens/settings/SettingDisplay.h

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace Pinetime {
2020
void UpdateSelected(lv_obj_t* object, lv_event_t event);
2121

2222
private:
23+
DisplayApp* app;
2324
static constexpr std::array<uint16_t, 6> options = {5000, 7000, 10000, 15000, 20000, 30000};
2425

2526
Controllers::Settings& settingsController;

src/displayapp/screens/settings/SettingSetDateTime.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ bool SettingSetDateTime::OnTouchEvent(Pinetime::Applications::TouchEvents event)
1515
SettingSetDateTime::SettingSetDateTime(Pinetime::Applications::DisplayApp* app,
1616
Pinetime::Controllers::DateTime& dateTimeController,
1717
Pinetime::Controllers::Settings& settingsController)
18-
: Screen(app),
18+
: app {app},
1919
dateTimeController {dateTimeController},
2020
settingsController {settingsController},
2121
screens {app,

src/displayapp/screens/settings/SettingSetDateTime.h

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace Pinetime {
2020
void Quit();
2121

2222
private:
23+
DisplayApp* app;
2324
Controllers::DateTime& dateTimeController;
2425
Controllers::Settings& settingsController;
2526

src/displayapp/screens/settings/SettingWatchFace.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ auto SettingWatchFace::CreateScreenList() const {
2222
SettingWatchFace::SettingWatchFace(Pinetime::Applications::DisplayApp* app,
2323
Pinetime::Controllers::Settings& settingsController,
2424
Pinetime::Controllers::FS& filesystem)
25-
: Screen(app),
25+
: app {app},
2626
settingsController {settingsController},
2727
filesystem {filesystem},
2828
screens {app, 0, CreateScreenList(), Screens::ScreenListModes::UpDown} {

src/displayapp/screens/settings/SettingWatchFace.h

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ namespace Pinetime {
2525
bool OnTouchEvent(TouchEvents event) override;
2626

2727
private:
28+
DisplayApp* app;
2829
auto CreateScreenList() const;
2930
std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const;
3031

src/displayapp/screens/settings/Settings.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ auto Settings::CreateScreenList() const {
1919
}
2020

2121
Settings::Settings(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
22-
: Screen(app),
22+
: app {app},
2323
settingsController {settingsController},
2424
screens {app, settingsController.GetSettingsMenu(), CreateScreenList(), Screens::ScreenListModes::UpDown} {
2525
}

src/displayapp/screens/settings/Settings.h

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace Pinetime {
2020
bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override;
2121

2222
private:
23+
DisplayApp* app;
2324
auto CreateScreenList() const;
2425
std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const;
2526

0 commit comments

Comments
 (0)