aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/Navigation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens/Navigation.h')
-rw-r--r--src/displayapp/screens/Navigation.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/displayapp/screens/Navigation.h b/src/displayapp/screens/Navigation.h
index 6495edb2..5c7a0429 100644
--- a/src/displayapp/screens/Navigation.h
+++ b/src/displayapp/screens/Navigation.h
@@ -22,20 +22,25 @@
#include <string>
#include "displayapp/screens/Screen.h"
#include <array>
+#include "displayapp/apps/Apps.h"
+#include "displayapp/Controllers.h"
+#include "Symbols.h"
namespace Pinetime {
namespace Controllers {
class NavigationService;
+ class FS;
}
namespace Applications {
namespace Screens {
class Navigation : public Screen {
public:
- Navigation(Pinetime::Controllers::NavigationService& nav);
+ explicit Navigation(Pinetime::Controllers::NavigationService& nav);
~Navigation() override;
void Refresh() override;
+ static bool IsAvailable(Pinetime::Controllers::FS& filesystem);
private:
lv_obj_t* imgFlag;
@@ -48,10 +53,20 @@ namespace Pinetime {
std::string flag;
std::string narrative;
std::string manDist;
- int progress;
+ int progress = 0;
lv_task_t* taskRefresh;
};
}
+
+ template <>
+ struct AppTraits<Apps::Navigation> {
+ static constexpr Apps app = Apps::Navigation;
+ static constexpr const char* icon = Screens::Symbols::map;
+
+ static Screens::Screen* Create(AppControllers& controllers) {
+ return new Screens::Navigation(*controllers.navigationService);
+ };
+ };
}
}