Simple Weather Service
Move the function GetIcon that converts SimpleWeatherService::Icons to char (symbol) into a new header file so that it can be used by other apps and companion apps.
This commit is contained in:
parent
ef2c431569
commit
ad090ab188
|
@ -27,6 +27,7 @@
|
||||||
#include "displayapp/screens/BleIcon.h"
|
#include "displayapp/screens/BleIcon.h"
|
||||||
#include "displayapp/screens/NotificationIcon.h"
|
#include "displayapp/screens/NotificationIcon.h"
|
||||||
#include "displayapp/screens/Symbols.h"
|
#include "displayapp/screens/Symbols.h"
|
||||||
|
#include "displayapp/screens/WeatherSymbols.h"
|
||||||
#include "components/battery/BatteryController.h"
|
#include "components/battery/BatteryController.h"
|
||||||
#include "components/ble/BleController.h"
|
#include "components/ble/BleController.h"
|
||||||
#include "components/ble/NotificationManager.h"
|
#include "components/ble/NotificationManager.h"
|
||||||
|
@ -42,41 +43,6 @@ namespace {
|
||||||
auto* screen = static_cast<WatchFacePineTimeStyle*>(obj->user_data);
|
auto* screen = static_cast<WatchFacePineTimeStyle*>(obj->user_data);
|
||||||
screen->UpdateSelected(obj, event);
|
screen->UpdateSelected(obj, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* GetIcon(const Pinetime::Controllers::SimpleWeatherService::Icons icon) {
|
|
||||||
switch (icon) {
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::Sun:
|
|
||||||
return Symbols::sun;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudsSun:
|
|
||||||
return Symbols::cloudSun;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::Clouds:
|
|
||||||
return Symbols::cloud;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::BrokenClouds:
|
|
||||||
return Symbols::cloudMeatball;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::Thunderstorm:
|
|
||||||
return Symbols::bolt;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::Snow:
|
|
||||||
return Symbols::snowflake;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudShowerHeavy:
|
|
||||||
return Symbols::cloudShowersHeavy;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudSunRain:
|
|
||||||
return Symbols::cloudSunRain;
|
|
||||||
break;
|
|
||||||
case Pinetime::Controllers::SimpleWeatherService::Icons::Smog:
|
|
||||||
return Symbols::smog;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return Symbols::ban;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WatchFacePineTimeStyle::WatchFacePineTimeStyle(Controllers::DateTime& dateTimeController,
|
WatchFacePineTimeStyle::WatchFacePineTimeStyle(Controllers::DateTime& dateTimeController,
|
||||||
|
@ -578,7 +544,7 @@ void WatchFacePineTimeStyle::Refresh() {
|
||||||
auto optCurrentWeather = currentWeather.Get();
|
auto optCurrentWeather = currentWeather.Get();
|
||||||
if (optCurrentWeather) {
|
if (optCurrentWeather) {
|
||||||
lv_label_set_text_fmt(temperature, "%d°", optCurrentWeather->temperature);
|
lv_label_set_text_fmt(temperature, "%d°", optCurrentWeather->temperature);
|
||||||
lv_label_set_text(weatherIcon, GetIcon(optCurrentWeather->iconId));
|
lv_label_set_text(weatherIcon, Symbols::GetSymbol(optCurrentWeather->iconId));
|
||||||
lv_obj_realign(temperature);
|
lv_obj_realign(temperature);
|
||||||
lv_obj_realign(weatherIcon);
|
lv_obj_realign(weatherIcon);
|
||||||
}
|
}
|
||||||
|
|
46
src/displayapp/screens/WeatherSymbols.h
Normal file
46
src/displayapp/screens/WeatherSymbols.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#pragma once
|
||||||
|
#include "components/ble/SimpleWeatherService.h"
|
||||||
|
#include "displayapp/screens/Symbols.h"
|
||||||
|
|
||||||
|
namespace Pinetime {
|
||||||
|
namespace Applications {
|
||||||
|
namespace Screens {
|
||||||
|
namespace Symbols {
|
||||||
|
const char* GetSymbol(const Pinetime::Controllers::SimpleWeatherService::Icons icon) {
|
||||||
|
switch (icon) {
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::Sun:
|
||||||
|
return Symbols::sun;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudsSun:
|
||||||
|
return Symbols::cloudSun;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::Clouds:
|
||||||
|
return Symbols::cloud;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::BrokenClouds:
|
||||||
|
return Symbols::cloudMeatball;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::Thunderstorm:
|
||||||
|
return Symbols::bolt;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::Snow:
|
||||||
|
return Symbols::snowflake;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudShowerHeavy:
|
||||||
|
return Symbols::cloudShowersHeavy;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::CloudSunRain:
|
||||||
|
return Symbols::cloudSunRain;
|
||||||
|
break;
|
||||||
|
case Pinetime::Controllers::SimpleWeatherService::Icons::Smog:
|
||||||
|
return Symbols::smog;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return Symbols::ban;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue