diff --git a/FluentWeather.Tasks/NotifyTask.cs b/FluentWeather.Tasks/NotifyTask.cs index 76fd237..b946d74 100644 --- a/FluentWeather.Tasks/NotifyTask.cs +++ b/FluentWeather.Tasks/NotifyTask.cs @@ -20,6 +20,8 @@ public sealed class NotifyTask :IBackgroundTask { private IWeatherWarningProvider _warningProvider; private IDailyForecastProvider _dailyForecastProvider; + private ICurrentWeatherProvider _currentWeatherProvider; + private IAirConditionProvider _airConditionProvider; public async void Run(IBackgroundTaskInstance taskInstance) { @@ -31,12 +33,16 @@ public async void Run(IBackgroundTaskInstance taskInstance) { var provider = new QWeatherProvider(Settings.QWeatherToken, Settings.QWeatherDomain, null, Settings.QWeatherPublicId); _warningProvider = provider; + _currentWeatherProvider = provider; _dailyForecastProvider = provider; + _airConditionProvider = provider; } else { var provider = new OpenMeteoProvider.OpenMeteoProvider(); _dailyForecastProvider = provider; + _currentWeatherProvider = provider; + _airConditionProvider = provider; } var lat = Settings.Latitude; var lon = Settings.Longitude; @@ -99,25 +105,51 @@ private async Task PushDaily(double lon, double lat) } - var data = await _dailyForecastProvider.GetDailyForecasts(lon, lat); + var daily = await _dailyForecastProvider.GetDailyForecasts(lon, lat); + if (isTileAvailable) { - TileHelper.UpdateForecastTile(data); + TileHelper.UpdateForecastTile(daily); LogManager.GetLogger(nameof(NotifyTask)).Info("Tile Updated"); } if (DateTime.Now.Hour < 18) { if (!isPushTodayAvailable) return; - PushToday(data); - Settings.LastPushedTime = DateTime.Now.Date.DayOfYear; + PushToday(daily); + try + { + await PushCard(lon, lat, daily); + } + finally + { + Settings.LastPushedTime = DateTime.Now.Date.DayOfYear; + + } } else { if (!isPushTomorrowAvailable) return; - PushTomorrow(data); - Settings.LastPushedTimeTomorrow = DateTime.Now.Date.DayOfYear; + PushTomorrow(daily); + + try + { + await PushCard(lon, lat, daily); + } + finally + { + Settings.LastPushedTimeTomorrow = DateTime.Now.Date.DayOfYear; + } } } + + private async Task PushCard(double lon,double lat,List daily) + { + var air = await _airConditionProvider.GetAirCondition(lon, lat); + var info = new WeatherCardData { Daily = daily, Location = Settings.DefaultGeolocation, AirQuality = air }; + var card = await StartMenuCompanionHelper.CreateCompanionCard(info); + await card.UpdateStartMenuCompanionAsync(); + } + private void PushToday(List data) { var trimmed = (data.Count >= 7) ? data.GetRange(0, 7) : data; @@ -133,6 +165,7 @@ private void PushToday(List data) .AddAttributionText(ResourceLoader.GetForViewIndependentUse().GetString("ToadyWeather")) .AddText($"{trimmed[0].Description} {ResourceLoader.GetForViewIndependentUse().GetString("HighestTemperature")}{(trimmed[0]).MaxTemperature}°,{ResourceLoader.GetForViewIndependentUse().GetString("LowestTemperature")}{(trimmed[0]).MinTemperature}°") .AddVisualChild(largeGroup); + builder.Show(toast => { toast.ExpirationTime = DateTime.Now.AddHours(12); diff --git a/FluentWeather.Uwp.QWeatherProvider/Strings/en-US/Resources.resw b/FluentWeather.Uwp.QWeatherProvider/Strings/en-US/Resources.resw index a1f6765..c92c38a 100644 --- a/FluentWeather.Uwp.QWeatherProvider/Strings/en-US/Resources.resw +++ b/FluentWeather.Uwp.QWeatherProvider/Strings/en-US/Resources.resw @@ -59,46 +59,46 @@ : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> - - + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + diff --git a/FluentWeather.Uwp.Shared/AssetBase64.cs b/FluentWeather.Uwp.Shared/AssetBase64.cs new file mode 100644 index 0000000..4394a47 --- /dev/null +++ b/FluentWeather.Uwp.Shared/AssetBase64.cs @@ -0,0 +1,41 @@ +namespace FluentWeather.Uwp.Shared; + +public static class AssetBase64Resized32 +{ + + public const string HeavyRain = "data:image/png;base64,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"; + public const string HeavySnow = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfnCwsQLwKHcM27AAAG7klEQVRYw+2WW4xdVR3Gf/+19j7nzMyZzpzOpZcpvSq0BfESwAwXwwMx1siDD0YTNfEFAo9KNCaaoDwgBSwS44MakkaCxKQoxlra0QCVFoxFpIqtQmk7nelMZ845c2bOObNvZ+/19+GcGRyoWkt8MOFLVrJ39sr+vv/3rbX+C97D/ymkM941zKVM6u3tXSI1gAXy+UKhAOQ77waQYrF4WZX8WwwMDEi1WhVjTOGX+w9sv2rHjlt7unuuwZjeViudbzQaJ0+dOnX085/59GtBEISr+vpUVbVRr797e4aGhwWwDz383SvOnZ/+znwzHK+Hsc4HsdYWI602Qp1dCHSyunD+z2+c2X3fAw9tBmyxt/fdxzM4OAhgfvijH28pz9X2LUaJNqJEF4JYq81Iz9cW9WyloeOVhk7ONXVirqEnx6f37370B9vfFq1Ya8WYi6d9UaXGGJxz8oldu1bt/cnjD65a1XenU8WpshCmlJsRSeYwInhGyHuGvGfwRFhYmH9q+tyZvaX+/mx+oV47dPCZM3t2318F3OqBATdXrf5nAblcjiRJzCuvHr/9qu07Hkek1zmlFiZM1EKcKr4VPGPwTFuEbw3FvKXLt86KxCIiTl0zTpIT0xdmn3xw9wP7frr3sbnBoWGtlGd1icu+wxIRsiwzW7dt6/nyPfd8LZ8vXKeqxGnGeC2klTk8+xaxZw2+FfoKPt15H2nDF8ETkW5rvU09vb0fv370ppHhkY3HDzy9r95XWq1xFK4UUCqViKJoaav59377vq3XXXf9V8TYAVWYD1vMBUmH2GCtLIso+BYjhrCVEqcpYcsRZ46Wg9RBy2GNX/jguo1bB85PTf3utVeORYAuR1AqlajVaqa/v79waOw3H924adPtfi7/kUKha1SFnDplqh5RbsYrrbeC3xEkArXYUA6ErX0Z1kBLBRGDAqkT4tRFJ0+euOsLt93whOfn0rSVYAuFAs1m04yOjhaffe65u7du27anq7v7Nt/PbXaojVuOJHNEqSNO3QrrPSNYI6RqQOBkLcfRSWFLnyPMhEwhU4gyCDMlVuOp9b3jf3jpmZnJ8QjAOlVRVfv84cOfWz8yslvEllQhTjMmayHnF0JqYau96pEV1vvWEDvDsXIXldCj2TJMNxyTDccTJxwisLlfiDPacaiQIX6SJPtffn6sDOC5LGPPnkfWrF277g4R05M5JXOOc7WAmUa0bLcR2hWLYDqVGwErULDKVOCROoizlCOTkDjo8YVMBQfLA2N7V5UGVy9veYDRG0ff7/n+TqcKKM04pbqYYKVNtERsO8RLIkSEvFU29bYoWMfS3rICN44Yrh4SUteOwQFOhcxpFgTNdIWAfL6wGuhShbb9DqfaIQMjbxFbYflZgGbLcLyaJ8oMnijSEXDwdMbhCe0Qt8kdEMXxzF+Pvbh8GnkAtVqtnmUuEmNy7UPGkLOm/TPzVuVGhImmz0RduHEkpdsXckZZ353S4zsmmh55T9j1PuFE1TDc044gW4pAoTpz4aVnf/5EeYUDY2Njp4Iw+Lt2JhV8Q3+X385a2q0/Sg2tNGO6afjjBUOlmTK7qESZsnN1zEgxpdtzFHPKziH44gcs2weFlus4gCEIgvEXDz39CyAYXLdB23GJyJEjL4S7PvkpHV6z5lYxJocqBc8iIqBKJfJ5s95NkAjNlmGyocwGjt9OWKqhcGVJcQjdvmNdUenK0a7c0VmEQhwn1T8dfe7B73/97jGgGTTrbQG5XI4sy/TQwYNnb77lY3F/afXVxnpFEaHgG3wDYZgwFwlNVyBxlom640xDyJxjW0/A+iI4sSCCZzuk7S1H6jStL8z/5djzYw/df9dnnwaqQLaiGQ0NDVEuly3Q//Ajj46O3nzLrt5VfZsVTBRGMlupdM97a3ZGxS0DkbO8PJUyn6RstOXgWnvmteGBvnm/q+icmA45pCq6GARzE2fffHVs3+NHXtj/1ClgodBdbEVB853dcMOGK5icnDCADxRFJG+MkSzLzFcfO/ylLdfc8A3r+fkkVffydGrmkww006R85smj39p1b6N6IRRjlrscCs5lDoiBUEQSVXVvb37e0sPk5ASdxRoDiapKlmUAtjS8YTZtJedmxl8/VhzedJM4fyiaOXUoX1r3oXzfULD2yg/P1F88sKhZxkWggKrqxb5d0s02N7h+89qRK6/d0qzOeHc88uvv/a1e2PTS3m/eGVXOVtRl0+d+/6vTxnqRy1K9hP9d3IF/BRFxlamzjcrU2dN+Ltcz8frxnwXav7588ugbc28cqwABIs5l6SXQXZ4DQvve4ANdQH9H+Dwii6i2gLQT3/9EwD/PXRJhgBBILpf4cgQszV+63jrgv878Pbwd/wAOGn3wOsCgWQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0xMS0xMVQxNjo0Njo1OSswMDowMPP6XKcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMTEtMTFUMTY6NDY6NTkrMDA6MDCCp+QbAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIzLTExLTExVDE2OjQ3OjAyKzAwOjAwcJf0ZAAAAABJRU5ErkJggg=="; + public const string LightRain = "data:image/png;base64,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"; + public const string LightRainShowerDay = "data:image/png;base64,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"; + public const string BlowingHail = "data:image/png;base64,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"; + public const string BlowingSnow = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAACYktHRAD/h4/MvwAAAAd0SU1FB+cLCxAvAodwzbsAAAL7SURBVEjHpdVfaNVlHMfx1/Pb/7motswKImaSGLswLPBKyRal5egiImhYsDUluqmbyMLGikFFf0wiZGdIBQZddLEskqRWF1qwi6RolWRsaRRbojnbds7Oebr4nbPVmdtafa6+PDzf9/l8//yew/9UKAX7VcuDzmUBklJQUUyP+pbvIJPGtR7zjffTww79RWB6LS7grQLaqLPNGs+63IQrk1PcLSAvabJKdTIZY627DCzo4AYfW6HBpBqHtMuCa+x0j0YTjng9fpeI81wUexB/8poValzmlH0xm8B1Dtij3rCsR7wbbo7Fgi4CCCttVQuudUeoKFDlKa1etsV2t3lcs+c1hmJn5k8hGNPvnC8NFMfR4l6H7PGzaePVe71hky0LjHHSxOmww5O+diS2x+diHqvxngtp77MMyFlvXhGVUA+5MB7bnQ+54pXPtDqZJgSRaXlV8x1U0qeAaXXRSGniGDeeBv3pyS3q/UAiI1GYnUYgM5e0gJJQ2CxjyjajpbMo6CyVENdpm/sq5i9b4XrbJXYZTZLCBhtN+jT8SEZnCtDimXQnF9CfhrwUD+dDZZcejYLvPeqTqpIDg+5cxAFnnXQ+qLxJj1E7XaVbj69yZ0qAMWOWUBBp9pseA1irw2qzgH+hiPiBz+OZhES9QrpwKWCN1kVLKLmIhCC40QMGnZgDbLBv0SaWqihZyTvmaRNhFvCFB8scRHPPXRQFwVq75PUad9aQsTGNs4ARI2W/dokpuWJcF5v8GmbQ4GHHDEGiSVcK+PsT0Y9KuSu85bC9IbVye3hFt7cLEpLyjLIpRK7O7faHjao1x28r+vLRCdW6rUou9ZDjaesWBKDeJi241WavxiCG4fiEXi/iuN1+b/jH9aQ8P4w4ICuRGHawULhPlD1oqx3u1xYGowsXGc2sMqzzkZWqTanxpp3yxU6AGYmuJUr4Ra8ZLxj0odMV+byORZdjPuCc/Rqsd9Q7is/jYioroQ+1smJFKMRYoMzwkoAUEou9Xd7f7H/UXxWG9470OQ3XAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTExLTExVDE2OjQ2OjU1KzAwOjAwNFo20wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0xMS0xMVQxNjo0Njo1NSswMDowMEUHjm8AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMTEtMTFUMTY6NDc6MDIrMDA6MDBwl/RkAAAAAElFTkSuQmCC"; + public const string ClearNight = "data:image/png;base64,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"; + public const string Cloudy = "data:image/png;base64,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"; + public const string Fog = "data:image/png;base64,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"; + public const string FreezingRain = "data:image/png;base64,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"; + public const string HailDay = "data:image/png;base64,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"; + public const string HailNight = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfnCwsQLwKHcM27AAAJJ0lEQVRYw62XeYzdVRXHP/f+lvd7b9681+nMtHSZLlCqLaUQRUpFKIsCiQkgShQBUaJlUdHERCNEUUjURKJoSBA1aDQxyiYu1YZQqMBIgVKsUKAMtDDtdJY3b+bN237L3fxjpi1YZKzxJL/87h8393zO995z7zmCWczZs0DsQw1uCHUSlpwtBYGn20Gx1mbBiLYPfNPJSy4FNRcR7pxtuSNMzDahtncj0RwpqgNeuVR65COe1KuVWvkUbvlz+YIZDnqrCcV7LKwAViDE5qMCkLNNODDUZmwkZXg0zTWacrnn770hiv52m/Qev77RSE9sD3Z1UvmoHDx9ANiOc0enwKwAY7Vxhhv/ZKrRNNXJctVamUqvuTQXvXh9EPbf0EziNY3xuYUl/RcJN/bFo96CdwRwDno65nHqqitcEAptrd9yTmoAIVQUha99NPR2XNZosije0+OLeTcD645KhVkUCFi0RENxC13FnJePXEEI6wNgQKY6l7d7L5b69XX1eq4IFwo9sv7/o8B0FIrGUC/twbL0/KBYyDeXSWnyKBAxEIOftBdF2WsfarZ0T/x6l9z2yAhnn9P1XwP4/9G5GgV5FX1n/IjJ568OPC9dUIgqJ0tlfJeAaYONQaQOVOXklhjue2Yk3Lfh8gfM0SjgH+GYi4A/gP4WWwp/5dzRjV6WBd2d+ZdOi6iubVWhWYNMH4OQixE2h87Ewimx8MS/bn1pF5ABLoryLkniWQGEyz4IagPIANw4VANctQ9x0k0wdpFfrxa72q2x00O79ca4Pva+WK8mWvBp8vPPQ+YX4vDROnXKipFGK9n09LZn7rzqsktfAHSpXLb1qalZANxK4L0CjgE80AegGUhb7wibLb9XpUOnyfSpa+sTwxts8RLZtfoWgs6VWOuwzqCtmxlP/5M0fXHgld3fOP/M9X85qAaAlNJZa48EUIPXhiadkxNC+AiDM/jKqKLRk0uEefVMX798aa0yviaJLhbzTrkLGfZirSYzlqlY0co01jl8Kcj5ktCTZJka3PHsM5//8jVXP77i+JX2sa2PZoACKJXLrlGvOzeTq2Js+6fmFzp2nYnwF0FO4FRB2Poyz1RO9nRtVVzPOkYmFtGz/kGi7vdirCZVhv1TMY1E40lBIAW+JwikJPQlkS+Rzuz1hRuQUpo0zfYOj4w8+pO77nrs7jvvqOZyOevAZWmK2P7HK5cu6eu/oVzef43ACaGdT2ZCkTpIoDIKafd1zDvtx1gH2loGJ9pMxhm+FASexH8TQGfOpxgF+PLwM+MAbWwyMdXY9PCWR2695sqP78pFkUmTxHnnbejzm60Or9w5sbYgW4tFaj0Rg2pCuwa1CZ/iCTcRdq3COUMj0Yw0EqSYdupLOfMXFEKfKPDItCVRFmUsxoJ1YBy+F+RWH7N4yUnHn/iepzfd99tKsVR23rpT5phaLd9SaaHVFTZX+FnaXRuHakXSVMci5pxDaeUVyLAT5yyT7Yxmpg859uRhBTwhyIwlNY5EO4x1ZMaRGtAOUuOw0u8rze0tPLOt/5Gh119LvfnLDlihOuJGq6sSp6Vx1Up6lOru6Xz3jX73+75HaeUVeFEXzjqcg2amSZTBPyi9FIfGLe2zpx7y5BBsHXS8PAHlHEQ+JAZSA7EGI8PF8xYve+KhB37zhveVa9aw6e8vmKJXaL0xzKgqnNFYe/4PTu0+/mOdMuwCIWmmmkozZSpRKG2xzhF4Eu8QgMA6j1frES9UHC9WFGNt2DvlGG4J3tUjEEJMQ1iBdrKgrXvtwV/euc2/6roXuODc+e7Xf3oxrY4wOrDn/qVzFx27wDp7SPI91RYt7TGlQvZNQUsJjp0Da3vBk9PSt42kqSSZysh7YANwCEaajvFYsKAoMNNnASsEYb5wHJDzATZvGQXglltu6eydt+AsmJY71ZZ9tTYN5TGpy+waU7xRczQyeHbUIYVj3cLp6ALpCKSjEEjy/vTBUxY6AkHeF2gHFrBOYBE4IXOAfMtbsPqENT2e7y+2zuGcI1aGWBkUedpakClNYWbxqQxeqgrWLZxOt7xn6StmaONjncdE29IZOdbOFxRz0wDmEATE7fY4YN4CkGWZtNYJIWfuT8ATAl9YPAGFQJAah3GgrKArgjelO/PyilKgOa4saCvwPEHOP+hcYB1YBNqYdP+egZ2Aeks90N/fPx4nyetu5l7PeZKOnE/Rz+jKaeZ3BpRzgs4QVnXD+kUgxMGX1KG1xqgYz7QJiZE2RWmDtoejdwgaU7V/bP7t3dsA/eaqWADhU9t3fGHV6hO+hxC+tY5mpqg0UzIDyvooM61Nd0FQDMVh50ox2TaMJBEDk479DUPkGU7sMcyfE4EfYpDEaTbev/nBr932pavuC8Kw4R0qDHwfa62rjI0Nnbb+/Ys6isU1bmYLclLgOUXgUnJCU/A0OWkPX7PWUm8r9qdlBuohL1ct44lkX9NntKFZmE8Io4gkSYf+0b/1+9+97hMPAjVrjD0EYK2lt7fX7djxbLtSqfxz2fJjs6hQ6HXOhUmSmErs+7vrefHEkGDbsGC8oejy4tSTIs2UUZOxdZOu5FcailTbQx1HQ+HyrX1DWW34z1v/eO9tt39142agGhWKSqvsyMZkbne3mKhWfWDOZz678bjly5Yu7Flzznkdy0/53K4xJQ/UNQ0FmbGUxnf+qW/04XtyhWIiyn1LVnzgkhvH23QP1zNaCppaMFWvj77ym69/e/dDv9oCHADiQmfJtBv1I0sygIlq1XWWSqpRr1d/8fOf1oDn73j0wBmZldIZQyGYlr2JZMj1Br/7zq1PAKP4+cLtm9aXO7uOubaVE2VjjUjTbLy5Z/vdux/61aPAvnxHMY5bTQ46f1sAgEa9DjMpC1jn7B5f4oo5KTI7fRUbB4Fq7J+pelJ0nP7ghot/eN4nP79VRuWl1Zby3ti9c+i5+28fAMaE9JK41TzC19sC/Ju5px669w+nf/jyU7tyhQvSVAfKGW1qlWf3Pfyz+4AUcAuXv9sN7t459fObNz4OPMnhvtMIKZWz5m3blVmb0845PaJRG5fvOfvC3tWnnr26rShWp5rqpcd+PzQ2sGNMCDnhnM3+i0D+d+soz4XpJiYAcjNfNF1HzhrDO9q/AIEt740JEAXTAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTExLTExVDE2OjQ2OjU4KzAwOjAwVY1XEwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0xMS0xMVQxNjo0Njo1OCswMDowMCTQ768AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMTEtMTFUMTY6NDc6MDIrMDA6MDBwl/RkAAAAAElFTkSuQmCC"; + public const string HazeSmoke = "data:image/png;base64,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"; + public const string HazeSmokeNight = "data:image/png;base64,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"; + public const string LightRainShowerNight = "data:image/png;base64,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"; + public const string LightSnow = "data:image/png;base64,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"; + public const string MostlyClearNight = "data:image/png;base64,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"; + public const string MostlyCloudyDay = "data:image/png;base64,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"; + public const string MostlyCloudyNight = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfnCwsQLwKHcM27AAAHjElEQVRYw92Xe4xdRR3HPzPncZ9799Hdsu32AYUCbcGFQpGCgVhQSUiApARpwiOYiAT5A8VXwEiQGDGYEEXTxEisMQRoREAJjwRt8IFsYyACtlQsfez2Xrbd7t37OPfc85j5+ce9u9vWYjH0LyeZ/OYkJ+f7+X1nfmdmFCdoIhABmfRGxcwChbIwUBfU48LEw7DkfmAFSr1zok8dt6kTAkTXgD9Je8+ajI3pF1tyPVc1/UIrYHh/2hp9QfJvrwaGUWrb/wygT/TCocoSms31arKSy6d2+7Xae+47UfqPa+vT7unxnhX5/NjnVev7jwM7EcmffIBy+TCVg/upTIZure4OOs74LZnsnx/S3ra7m83GJ8IDg4X83fer5MkK0ELEPbkAB8tTvLvzTWm2grRa65k2xg21bg1nMrtu87N/+XLQDFa1xhflvBs3QONWSB84uQCLlwpvf+le8gXPIG5bRKcAShk/4+7b6Oo3NtXqelEycZp7e2kLuE+fPAARWDw4wL0TT9KT83QmY7JKWw+AFHSUZnNm70bifeuq09nCz+Q6FR+68OQAiHRi0lgEM0PK8918Id9c5qgkTwwqBEJw282lmfj9DY1mOtDat1DNTCQfH0AEqH4V5HMsHH2UYLLge04yUshNrdWp8WbFVQg6FJVpHx5NwsYp05XECYKPASAym/licN/D1S/BwZudIMgM5LPjl+TV1FoVgrQgbUBU63Rbbw7Z1sH+eqOpg0bAIz/Z/JEBXJFPQX0NNDVUACkiB5aj1t1Heug2p3Gw1GfM1LqSt2OTjlqDrRrEUQ/inQ2lM8FmSRPT6/VesDpUfa/3LrokCt55ll9tfZqbb9h4QgAlshAYVbSzgAInD41+LXXlN0NvQRyVL8rasTucZPyKYEZp6bkab/ldqNL5iNODFY2xKcaYemrsK7V64werT1uy/aePbSFoBHzzK3edAKD8BScO+7Mm8XNKGS2INiYtWDO9FPP+pb5993odTY3Wq1rp4TvJnnk/4g1gbIq1lsRYUisgIAhpavZWq9V7Rlcu/82e8iQD/f20ooS+ngJv7dzDxeeuOHoKKuNFv9jzx0+6bnC5sSUL4mqpL/Xk8DmOnTlLxXGxUQXVu5HcWd/Fuj1YmxIlhqkgIkwMCvAcTcbV+I46tVgqPTL29q7mimUjfwfiVpQ28pk4TZIWIoJS81uQO1EJnVOsLFo49P4dGS9ZQIqQWlclgoogCSBJhsmf8TXE60VsSitOGa+2aKcWVys8R2GskBiLQlPI+MtWnrbsl77rVFEqGirl/tlqR8/V6vXfllu2CZDN5WmHLfTE4Yn0rR2L3v1gcuGrEolSbeOqUObqPKmD0/cZdO8oYg2pEcr1Nq3E4GiFqxVOt3uOppTzKGY9PNcdBrUK4TyluCGT8X+xZtWqzdt+/8qpIkI7bHUceK9yIO5hcF8Ur3iClcngSHHyMh1bJ2pC0oQ4AH/VBkT7iEkI4pQgSjuiSqG70dGKrOdgrTATJiCC1gpXa5RSWMF3MtmbzhldW/z6gw/fKSIVpRTOK3+YlNG1vXE79GvVxkDFV+IThKe0m25GChcpZ2Qj3qkbwe9DxDITJjSjFFcrXKcjMBsVkFrBimClM26nQmyExCoiA1Z7K3sHhz84e8nQ31zPs86mmxbz/Nh7dqgn344j71C52vsv3buuNXLht9YUR7+ddZdfB34/xhiMFcLEEMamK6pwHd2ZCkcdtbgArIARRWQUkRXCFNoWbd1MqVFvvLzjjbG6zvk9XLm2n81P7Ux+tPn1Q/1Lr9pz3tWbV/es3NRHZgArlukgYvdUwO7DTWphgqPB0Ufbf6y40BE3AkYgstA2QmQA1z/zvEs/fTrg6C1bdnHGiiJuG6ZbYi//7K2XFYt9V4o1iAjTQczuqSbVMCZMDImxRwk7Ghyl/uNsNy/eiVYUFoUFROliaXDhEOBqa+G++8a54oqrUEplC8XilSjlW4HEWMr1kNR2ym1O9IioteKY5LvWH9GZd2IWRAQF6Lnz0xdvv51cLldwXW+JiCDSqes4tThaz5XarLhW3Wn4b9ajSI8AmXXAWGlOTVYOHbUbXrx+PeVyWRljY9vdFRV0M+cIy4+GONb6+eznrZ99tl2IKI52vPq7rfsBOwdw6SXr2b59rD1Tm3lTRLAIjlb05by5TB01n3lnfPxVb5jPOp2zviNuLMnBA+NbX3vxmSqQzAHs27sXIHn5pZeej+J41+zZYEEhQ3/ex3OOcKBbAcezPhVIj1mAHfs7EM1GbevPH/zGi3TuO+ZYBzXQ+6e/jl2z+pxzv6e1HrFWSK0QG4uxgjC784HI/E+nIz7bmRsbgRRFaiSo12u/fuLRh3747GM/PuA4bs2Y1B7vZuQBfU89/cwFa9dddH0uVzgfpYpWRFkRrBVMN1oRjAXDbNZdQVHdBagkMbYehu1d+/fsfmHzA/e8tuvN7TOO4zaMSQ18+NXMBXKO4+Q23XRL78iSpVlUx8JOhXQjs3PbmS7L/EKT7m+5PL6vve25rY04areB2PW8ME0SmTuQfNhJxfM8kiRx+Aj3x4/QhC7nSfjW/1n7NzbJSQ6m1iVNAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTExLTExVDE2OjQ2OjQ5KzAwOjAwP1BcOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0xMS0xMVQxNjo0Njo0OSswMDowME4N5IUAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMTEtMTFUMTY6NDc6MDIrMDA6MDBwl/RkAAAAAElFTkSuQmCC"; + public const string MostlySunnyDay = "data:image/png;base64,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"; + public const string PartlyCloudyDay = "data:image/png;base64,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"; + public const string PartlyCloudyNight = "data:image/png;base64,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"; + public const string RainShowersDay = "data:image/png;base64,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"; + public const string RainShowersNight = "data:image/png;base64,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"; + public const string RainSnow = "data:image/png;base64,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"; + public const string SnowShowersDay = "data:image/png;base64,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"; + public const string SnowShowersNight = "data:image/png;base64,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"; + public const string SunnyDay = "data:image/png;base64,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"; + public const string Thunder = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfnCwsQLwKHcM27AAAHfklEQVRYw+2Xa4xdVRXHf2vvc++599zXvFqmhU7bYZBXS4iKHxQKifERw0OrKIYYNSqJxkACCZDoB5REEyG+W6ImoBhNyAiG0Fr7AB8BkbZSBUTaaYFO25mx03nee8+999yz9/LD3Kmj0tBK+GDiP1k5OefsnfXf67/W2nvD//G/ilwuB2A6ZoGg8zSAdP6/LuRMHYsIxhhxztkNGzYUbr/jzvMGBlYNggRxHM/vP3Dg5Zs++5lXW61Wq1wuu/n5+TdOIIoi4jiWJXMyt9126+A111y7sae397IwzJWCTCAixjnnpsbGxnd+9St3bXl8184pwAMqIioieO9Pn0C5XCZNU4njWLp7evKb7vvB6rWDg+cjMpCx9krv0qFarZao+nY+l9eoUPRhLlQRSQ4fPrz1F8PDW5cvX17bvv3X1b27d8eAL5fLfmlUTkkgm83inBPnnH1o+OG3XH7FFZ+PCsUPiDErVck572mnztXrtcb4sSPHa3Oz0/koSsulssvlc+qVlno/kcmGzWareXRk//7f3nrLzc8eOTJa6+7u9jMzM9BJmlMlmbRaLbtj1+OXbbjyys1RobhRjOlWCJxX2l5REZMNw2yp0l1JU2dmp6dir6pePe12O+NVu1W1L5vJrF22fPlbN1x1lfzmicdfmTx+PAH0lATy+TxxHJv7H/jx4Lvf897vZ8PwnYrivGcmbnO81mK+mdJoO1KvWGOkWC4X40ZMdW6m6Zy3jUbTxnFMkiSSpqkE1uYqla6hNWvWjm/d8tjhMAydc+6UEggQHjk2/uXevr4veYXUe8bmGkzVE4xAxhoCI2SskDGGfNaSwXufJk1rDK1WkkxPT1ePT05Oo74ZRZGvdHX5qRNTT9/4seu/OT4+NgFocCoCP37wp6sqlcpGBVSV6XrCZK2FNUJgDFYEawQrQj5rKecyBNYYIYpAKZUk6urp6ar09vUcHDlwtFarzdkgkCjKn3Px+nV94+Njk0BqFj0Wi8XFlQvAunXrL7VBMKiqpN4zHScIdBxz0nk2sISBJU4cs3HCbKNFtZUSt1OaqZIvVQqrhi5c08aU67WaabUS670PWWhYBAD9/f1MTEwYwD40PLz2ggsuevtZ/f0fVQhVoe2UtvNYY7DGYDpmrSBiiNsOVE+Gz6kHMRgjOBUIC2G5f/WK2dEDzXqtNnfwwEi8ODbIZrNMTEyYoaFz89u277h+xYqVt9oguECVjFPFqeJVMSIYWoRunox6AlICEYyxqC3ggy7EGBTwKrS94lJwCm1VTKmv1OKV8Lndf3h+dPTwHOAAgiRJBLC/2rb9IwOrBr6FmC6vSjNN+Xu1RZykGBEQS291GytP3IM4h2kn4BXxMFn6IFOr76RYKuGUjgltDy2vpF5wJmNm2jL1o/s2PwfUEHGoLkiwadPmFWefffYXxZgu75Ukdbx8os5so01ghMAassbRXd1CNt6PBGDMQiUrMON78Rh8x7GjQwJZ+AZ4BA2LjcmpqSmgviiZAbj8isvXBZnMhV4VRTlRT5httDsZv5D1+XSUKN5LakAKApFABPVcP8fNeozNkKrFYRZIdCLh4SSJMComQL2zP3AyCUvlyjlAXhW8h3qSIgJWwJgFncuNp7HJMXwBpNhR0EHc6KJgxym2ngKXo23W0g5WdIgsRGSRRLPZGAOaS+s9APDep15VVUFRgk6JLZZahgaV6g5UlaAbyHcIpEJf9hA97g7MnKfqhpgI70V7+sF2nOtC+NPUNV/d/+I+oLHYhk9KcPTo0ZdS56a9LjAt5zJkA4MRwRpD1s+hElKrvIO57HrmqllqDUVzYAopQaFOM8izr/EpavZCFHB+MQ9AEeZmpp/d8uB9e4DWUgIWkEOHDs1ffc21Q2Eud6nqPyOQel2QIIiIK+9jKryOsbFeZv+yE+/adA8IklFaWuDpsc9xwlxNVOlCgiy+kwseodFojv/useF7tv3sh/tEZP5fCJRKJUZGRtKLLl73ysCaNZcEmcwqgGxgyGcsWWvIWIuxGRRLafoRyo0n6R0Ucl1KqiG7Rz/OseQGupavIJsvgM3gWaiGeq3+8h93bb33O7fftAM4YYxp65KmZZMkIZ+PeOTh4ally5btqXR1t0xg896p987F6l3dubTunK+bdLp51sy3c4XMmBQGBLGiew5umH/h+Cdqlb5zamFUqKnYetJOZ6q16sjooQOP/vKBTd+9/2t3/h6YNNY2X/NEFEURxlqpVasWKF73oQ+vXLV6dU8QBMbrwmYUt7PuxkueuOxdK/Z8XStpLhwU/vxXefLmu899yIfnHztrZX81KlbaYq3Gcexe3Ldn/m/PPjPTKbu6GJPovzl/rUPIIqnFU+5SM41Hubu1FW0/L3pkr+x5/1VsBAaBChAuGZvpmBWRMz74/gf2fg90FxW/jadaO9HJP8lLX/gkNwBrRCguVtN/g9Oa+LbzgJRLvHJR3XHk54/xjc0/4RlgRpUGSzrbmSI4nUHOgxFerTf59BMvMHvLXXoQqLKgr3vDIX49qIKOnnyNgOLpkn89nGmCLF7FlM6F401f/ZuNfwCKwrmu+J5DHAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0xMS0xMVQxNjo0Njo1MyswMDowMFeKA+kAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMTEtMTFUMTY6NDY6NTMrMDA6MDAm17tVAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIzLTExLTExVDE2OjQ3OjAyKzAwOjAwcJf0ZAAAAABJRU5ErkJggg=="; + public const string VeryCloudy = "data:image/png;base64,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"; + public const string Windy = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAACYktHRAD/h4/MvwAAAAd0SU1FB+cLCxAvAodwzbsAAAIrSURBVEjH7ZRLaFNBGIW/f25ak4h9xEftQqRCcaOCWYgoVandCOJacFNNK2i3UhAjrgqii0JFhCQQUUpAasmqu2KRqhBRBN24iBgRfCNNafNoMuPiNmnI4yau9SxmuPz/f+6Zc4aB/5DGpSiFirKXDIG/IYggGNjCfraxxDt+gWG0VYKIvR0lyAAe1njDbROXotSocDkc7wgP8TFLkh5OE5UOHbW4y1iLBB3coIsLKq61YO7zgGvqqUm6q9pUQwI/J4i1z2qtMZBgij4GwbRM0MYi8TyGi/b3S1bpr21rcAQDT3hOVhjlEWkALy4ydQnC9TkKFMAQtseFM1i8LiXUjma4QoGL9sZhGJFuhrnEPAsAbELn1oQIIzaBwDGuYzWax6KXPl4wzhI+AgySkRlmyEcYWVfgZidWjcEb+M40IT7j5Rbn+YqHU/SoSQMIhBG36bRvbh0IRlb1sgIYYo7HBPFxj24GSZUUZMniCIVBIEeIEEmSzHGFXlIlE8Uop3Gzvppn+cU2UUrt4BBpflM28bAaQ9EMBuMBhdCPnzuS3IhxOwOOJtpedLGZIt/QpJlg0hTEJjDIvDnuMKrRWCB7mGIr5/hAtvjDMhAoK1hhxeHXuzhAgp+kmOEqBT7ZptqPi4s6r0wlIuAnxk01oT3sZZVlGKmou2iOBG8Z1/vo5CQx3lcH3BxfuMwCQxxkmmD1jWlFAbziLLsp8JFcbThNEcZCl9t1E8/+RfwB4vaqQSbt+eYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjMtMTEtMTFUMTY6NDY6NTQrMDA6MDCSLT1nAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIzLTExLTExVDE2OjQ2OjU0KzAwOjAw43CF2wAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAyMy0xMS0xMVQxNjo0NzowMiswMDowMHCX9GQAAAAASUVORK5CYII="; + + + + +} \ No newline at end of file diff --git a/FluentWeather.Uwp.Shared/FluentWeather.Uwp.Shared.csproj b/FluentWeather.Uwp.Shared/FluentWeather.Uwp.Shared.csproj index d4b9726..a7d6a9c 100644 --- a/FluentWeather.Uwp.Shared/FluentWeather.Uwp.Shared.csproj +++ b/FluentWeather.Uwp.Shared/FluentWeather.Uwp.Shared.csproj @@ -123,11 +123,13 @@ PackageReference + + @@ -141,15 +143,24 @@ + + 3.1.0 + 1.0.1 6.2.14 + + 7.1.3 + 7.1.3 + + 4.7.0 + 8.0.4 diff --git a/FluentWeather.Uwp.Shared/Helpers/AssetsHelper.cs b/FluentWeather.Uwp.Shared/Helpers/AssetsHelper.cs index b134d06..085142a 100644 --- a/FluentWeather.Uwp.Shared/Helpers/AssetsHelper.cs +++ b/FluentWeather.Uwp.Shared/Helpers/AssetsHelper.cs @@ -1,11 +1,15 @@ using FluentWeather.Abstraction.Models; +using System.Threading.Tasks; +using System; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Storage; using static FluentWeather.Abstraction.Models.WeatherCode; namespace FluentWeather.Uwp.Shared.Helpers; public static class AssetsHelper { - public static string GetWeatherIconName(WeatherCode weatherType) + public static string GetWeatherIconName(this WeatherCode weatherType) { return weatherType switch { @@ -30,7 +34,41 @@ public static string GetWeatherIconName(WeatherCode weatherType) _ => "PartlyCloudy.png", }; } - public static string GetBackgroundImageName(WeatherCode weather) + + public static string GetBase64String(this WeatherCode weatherType) + { + return weatherType switch + { + SlightHail or ModerateOrHeavyHail => AssetBase64Resized32.BlowingHail, + HeavyRain => AssetBase64Resized32.HeavyRain, + ModerateRain => AssetBase64Resized32.LightRain, + SlightRain => AssetBase64Resized32.LightRain, + ModerateRainShowers => AssetBase64Resized32.LightRain, + PartlyCloudy => AssetBase64Resized32.Cloudy, + Overcast => AssetBase64Resized32.VeryCloudy, + SlightSnowFall => AssetBase64Resized32.LightSnow, + HeavySnowFall => AssetBase64Resized32.HeavySnow, + Fog => AssetBase64Resized32.Fog, + LightFreezingRain or HeavyFreezingRain => AssetBase64Resized32.FreezingRain, + SlightSleet or ModerateOrHeavySleet => AssetBase64Resized32.RainSnow, + ThunderstormWithHeavyHail or SlightOrModerateThunderstorm or ThunderstormWithSlightHail or HeavyThunderStorm => AssetBase64Resized32.Thunder, + Clear => AssetBase64Resized32.SunnyDay, + Haze => AssetBase64Resized32.HazeSmoke, + MainlyClear => AssetBase64Resized32.MostlySunnyDay, + ViolentRainShowers or ViolentRainShowers or SlightRainShowers => AssetBase64Resized32.RainShowersDay, + SlightSnowShowers or HeavySnowShowers => AssetBase64Resized32.SnowShowersDay, + _ => AssetBase64Resized32.PartlyCloudyDay, + }; + } + public static async Task ToBase64Url(this Uri sourceUri) + { + var file = await StorageFile.GetFileFromApplicationUriAsync(sourceUri); + var buffer = await FileIO.ReadBufferAsync(file); + var bytes = buffer.ToArray(); + var result = Convert.ToBase64String(bytes); + return new Uri("data:image/png;base64," + result); + } + public static string GetBackgroundImageName(this WeatherCode weather) { var code = (int)weather; if (code is 0) diff --git a/FluentWeather.Uwp.Shared/Helpers/StartMenuCompanionHelper.cs b/FluentWeather.Uwp.Shared/Helpers/StartMenuCompanionHelper.cs new file mode 100644 index 0000000..21f4de8 --- /dev/null +++ b/FluentWeather.Uwp.Shared/Helpers/StartMenuCompanionHelper.cs @@ -0,0 +1,378 @@ +using FluentWeather.Abstraction.Interfaces.Helpers; +using System.Collections.Generic; +using System.IO; +using System.Security.AccessControl; +using System.Security.Principal; +using System.Threading.Tasks; +using System; +using Windows.Storage; +using Windows.UI.Shell; +using AdaptiveCards; +using Windows.Media.Protection.PlayReady; +using Microsoft.Toolkit.Uwp.Helpers; +using FluentWeather.Abstraction.Models; +using System.Text.Json.Serialization; +using Windows.Security.Cryptography.Core; +using FluentWeather.Uwp.Shared.Helpers.ValueConverters; +using Windows.UI.WebUI; +using System.Globalization; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Storage.Streams; +using Microsoft.Toolkit.Uwp; + +namespace FluentWeather.Uwp.Shared.Helpers; + +public static class StartMenuCompanionHelper +{ + public static async Task UpdateStartMenuCompanionAsync(this AdaptiveCard adaptiveCard, string fileName = "StartMenuCompanion.json") + { + try + { + StorageFile file = await StorageFileHelper.WriteTextToLocalFileAsync(adaptiveCard.ToJson(), fileName).ConfigureAwait(false); + FileInfo info = new(file.Path); + FileSecurity security = info.GetAccessControl(); + // Add Shell Experience Capability SID + security.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier("S-1-15-3-1024-3167453650-624722384-889205278-321484983-714554697-3592933102-807660695-1632717421"), FileSystemRights.ReadAndExecute, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow)); + info.SetAccessControl(security); + } + catch (Exception ex) + { + } + } + + + public static async Task CreateCompanionCard(WeatherCardData data) + { + var card = new AdaptiveCard("1.1") + { + Speak = "Forecast".GetLocalized(), + Body = + [ + new AdaptiveTextBlock + { + Text = data.Location.Name, + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + IsSubtle = true, + Size = AdaptiveTextSize.Small + }, + new AdaptiveTextBlock + { + Spacing = AdaptiveSpacing.None, + Text = DateTime.Now.ToString(), + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + IsSubtle = true, + Size = AdaptiveTextSize.Small + }, + + new AdaptiveImage + { + Url = await new Uri("ms-appx:///Assets/Weather/" + data.Daily[0].WeatherType.GetWeatherIconName()).ToBase64Url(), + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + PixelHeight = 64, + PixelWidth = 64, + Spacing = AdaptiveSpacing.None, + + }, + + new AdaptiveTextBlock + { + Text = $"{data.Daily[0].MinTemperature.ConvertTemperatureUnit()}° - {data.Daily[0].MaxTemperature.ConvertTemperatureUnit()}°", + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + Size = AdaptiveTextSize.Large, + Spacing = AdaptiveSpacing.None, + Weight = AdaptiveTextWeight.Bolder, + }, + + new AdaptiveColumnSet + { + Spacing = AdaptiveSpacing.Medium, + Columns = + [ + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + Text = data.Daily[0].WindDirectionDescription, + Size = AdaptiveTextSize.Small, + HorizontalAlignment= AdaptiveHorizontalAlignment.Center, + IsSubtle= true, + }, + new AdaptiveTextBlock + { + HorizontalAlignment= AdaptiveHorizontalAlignment.Center, + Text = $"{data.Daily[0].WindScale} "+ "Level".GetLocalized(), + Spacing= AdaptiveSpacing.None, + } + ] + }, + + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + Text = data.AirQuality.AqiCategory, + Size = AdaptiveTextSize.Small, + HorizontalAlignment= AdaptiveHorizontalAlignment.Center, + IsSubtle= true, + }, + new AdaptiveTextBlock + { + HorizontalAlignment= AdaptiveHorizontalAlignment.Center, + Text = data.AirQuality.Aqi.ToString(), + Spacing= AdaptiveSpacing.None, + } + ] + } + ] + }, + await CreateDailyColumnSet(data.Daily[0]), + await CreateDailyColumnSet(data.Daily[1]), + await CreateDailyColumnSet(data.Daily[2]), + await CreateDailyColumnSet(data.Daily[3]), + await CreateDailyColumnSet(data.Daily[4]), + await CreateDailyColumnSet(data.Daily[5]), + await CreateDailyColumnSet(data.Daily[6]), + new AdaptiveColumnSet(), + new AdaptiveColumnSet{ + Spacing = AdaptiveSpacing.Medium, + Columns = [ + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + Color = AdaptiveTextColor.Accent, + Text = "ViewDetails".GetLocalized(), + } + ], + + SelectAction = new AdaptiveOpenUrlAction { Title = "ViewDetails".GetLocalized(), Url = new Uri("weather://")}, + + },], + + } + ], + + }; + return card; + } + + + + public static async Task CreateDailyColumnSet(WeatherDailyBase daily) + { + var set = new AdaptiveColumnSet + { + Spacing = AdaptiveSpacing.Large, + Columns = + [ + new AdaptiveColumn + { + Width = "8px" + }, + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Auto, + Items = + [ + new AdaptiveImage + { + Url = await new Uri("ms-appx:///Assets/Weather/Resized/32/" + daily.WeatherType.GetWeatherIconName()).ToBase64Url(), + PixelWidth = 32, + PixelHeight = 32, + } + ] + }, + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + Text = $"{daily.Time.GetWeek2()} {daily.Description}", + IsSubtle= true, + }, + new AdaptiveTextBlock + { + Spacing = AdaptiveSpacing.None, + Text = $"{daily.MinTemperature.ConvertTemperatureUnit()}° - {daily.MaxTemperature.ConvertTemperatureUnit()}° {daily.WindDirectionDescription.GetShortWindDirectionDescription()} {daily.WindScale}级", + } + ] + }, + ] + }; + return set; + } + public static async Task CreateWidgetCard(WeatherCardData data) + { + var card = new AdaptiveCard("1.1") + { + Speak = "预报", + + Body = + [ + new AdaptiveColumnSet() + { + Columns = + [ + new AdaptiveColumn() + { + Width = AdaptiveColumnWidth.Auto, + Items = + [ + new AdaptiveImage + { + Url = new Uri(data.Daily[0].WeatherType.GetBase64String()), + Size = AdaptiveImageSize.Auto, + AltText = data.Daily[0].Description, + + HorizontalAlignment = AdaptiveHorizontalAlignment.Left + } + ] + }, + new AdaptiveColumn() + { + Width = AdaptiveColumnWidth.Auto, + Items = + [ + new AdaptiveTextBlock + { + Text = $"{data.Daily[0].MinTemperature.ConvertTemperatureUnit()}° - {data.Daily[0].MaxTemperature.ConvertTemperatureUnit()}°", + Size= AdaptiveTextSize.Large, + Spacing = AdaptiveSpacing.None, + Weight = AdaptiveTextWeight.Bolder, + HorizontalAlignment= AdaptiveHorizontalAlignment.Left + }, + new AdaptiveTextBlock + { + Text = data.Daily[0].Description, + Spacing = AdaptiveSpacing.None, + Weight = AdaptiveTextWeight.Bolder, + } + ] + } + ] + }, + new AdaptiveColumnSet + { + Columns= + [ + await GetDailyForecastColumn(data.Daily[1]), + await GetDailyForecastColumn(data.Daily[2]), + await GetDailyForecastColumn(data.Daily[3]), + await GetDailyForecastColumn(data.Daily[4]), + await GetDailyForecastColumn(data.Daily[5]), + ] + }, + new AdaptiveColumnSet + { + Columns = + [ + new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + Text = "丽水市,莲都区", + Size = AdaptiveTextSize.Small, + }, + new AdaptiveTextBlock + { + Text = "更新于 10分钟前", + Size = AdaptiveTextSize.Small, + Spacing = AdaptiveSpacing.None, + IsSubtle = true + } + ] + }, + //new AdaptiveColumn + //{ + // Width= AdaptiveColumnWidth.Stretch, + // Items = + // [ + // new AdaptiveActionSet{ + // Actions = + // [ + // new AdaptiveOpenUrlAction + // { + // Title = "查看更多", + // Url=new Uri("weather://"), + // }, + // ] + // } + // ] + //} + ] + } + ] + }; + + return card; + } + public static async Task GetDailyForecastColumn(WeatherDailyBase daily) + { + var column = new AdaptiveColumn + { + Width = AdaptiveColumnWidth.Stretch, + Items = + [ + new AdaptiveTextBlock + { + Text = daily.Time.GetWeek2(), + IsSubtle = true, + Spacing = AdaptiveSpacing.None, + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + }, + new AdaptiveImage + { + Url = await new Uri("/Assets/Resized/32/" + daily.WeatherType.GetWeatherIconName()).ToBase64Url(), + Size = AdaptiveImageSize.Auto, + Spacing = AdaptiveSpacing.None, + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + }, + new AdaptiveTextBlock + { + Text = daily.MaxTemperature.ConvertTemperatureUnit().ToString(), + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + Spacing = AdaptiveSpacing.None, + + }, + new AdaptiveTextBlock + { + Text = daily.MinTemperature.ConvertTemperatureUnit().ToString(), + HorizontalAlignment = AdaptiveHorizontalAlignment.Center, + Spacing = AdaptiveSpacing.None, + IsSubtle = true, + } + ] + }; + return column; + } + +} + public sealed class WeatherCardData +{ + [JsonPropertyName("daily")] + public List Daily { get; set; } + + [JsonPropertyName("current")] + public WeatherNowBase Current { get; set; } + + [JsonPropertyName("location")] + public GeolocationBase Location { get; set; } + + [JsonPropertyName("airQuality")] + public AirConditionBase AirQuality { get; set; } +} diff --git a/FluentWeather.Uwp.Shared/Helpers/TileHelper.cs b/FluentWeather.Uwp.Shared/Helpers/TileHelper.cs index 62db37b..aeda18d 100644 --- a/FluentWeather.Uwp.Shared/Helpers/TileHelper.cs +++ b/FluentWeather.Uwp.Shared/Helpers/TileHelper.cs @@ -7,6 +7,7 @@ using FluentWeather.Abstraction.Models; using FluentWeather.Uwp.Shared.Helpers.ValueConverters; using Microsoft.Toolkit.Uwp.Notifications; +using Microsoft.Toolkit.Uwp; namespace FluentWeather.Uwp.Shared.Helpers { @@ -285,7 +286,7 @@ public static TileBindingContentAdaptive GenerateLargeTileContent(List + /// 缩短风向描述 + /// + /// + /// + public static string GetShortWindDirectionDescription(this string description) + { + var index = description.IndexOf("偏", StringComparison.Ordinal); + if (index is -1 or 0) return description; + return description.AsSpan(0, index).ToString() + "风"; + } public static Uri GetIconUriByWeather(this WeatherCode code) { var name = GetImageNameDay(code); diff --git a/FluentWeather.Uwp.Shared/Helpers/ValueConverters/DataConverters.cs b/FluentWeather.Uwp.Shared/Helpers/ValueConverters/DataConverters.cs index 8ff024f..df2b02b 100644 --- a/FluentWeather.Uwp.Shared/Helpers/ValueConverters/DataConverters.cs +++ b/FluentWeather.Uwp.Shared/Helpers/ValueConverters/DataConverters.cs @@ -75,7 +75,7 @@ public object ConvertBack(object value, Type targetType, object parameter, strin -public class ConvertTemperatureUniter : IValueConverter +public class TemperatureUnitConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { @@ -89,7 +89,7 @@ public object Convert(object value, Type targetType, object parameter, string la result = double.Parse(str); } var round = parameter is true or "true"; - return ConverterMethods.ConvertTemperatureUnit(result, round); + return result.ConvertTemperatureUnit(round); } public object ConvertBack(object value, Type targetType, object parameter, string language) diff --git a/FluentWeather.Uwp/App.xaml b/FluentWeather.Uwp/App.xaml index 3c3ee44..3d16671 100644 --- a/FluentWeather.Uwp/App.xaml +++ b/FluentWeather.Uwp/App.xaml @@ -38,7 +38,7 @@ - + diff --git a/FluentWeather.Uwp/Controls/HourlyTemperatureChart.xaml b/FluentWeather.Uwp/Controls/HourlyTemperatureChart.xaml index f1af17f..9f1c308 100644 --- a/FluentWeather.Uwp/Controls/HourlyTemperatureChart.xaml +++ b/FluentWeather.Uwp/Controls/HourlyTemperatureChart.xaml @@ -48,7 +48,7 @@ - + @@ -126,7 +126,7 @@ HorizontalAlignment="Center" Orientation="Horizontal"> - + @@ -140,7 +140,7 @@ BorderThickness="1" CornerRadius="{ThemeResource ControlCornerRadius}"> - + diff --git a/FluentWeather.Uwp/Controls/TemperatureChart.xaml b/FluentWeather.Uwp/Controls/TemperatureChart.xaml index a68cd67..9492406 100644 --- a/FluentWeather.Uwp/Controls/TemperatureChart.xaml +++ b/FluentWeather.Uwp/Controls/TemperatureChart.xaml @@ -87,7 +87,7 @@ Margin="-12,-32,-18,0" HorizontalAlignment="Center" FontSize="20"> - + @@ -118,7 +118,7 @@ Margin="-11,5,-18,-24" HorizontalAlignment="Center" FontSize="20"> - + diff --git a/FluentWeather.Uwp/Package.appxmanifest b/FluentWeather.Uwp/Package.appxmanifest index bf22d7d..418dbdf 100644 --- a/FluentWeather.Uwp/Package.appxmanifest +++ b/FluentWeather.Uwp/Package.appxmanifest @@ -83,6 +83,24 @@ + + + + StartMenuCompanion.json + Right + weather:// + ms-appx:///Assets/StoreLogo.png + Skyline Weather + ms-resource:CompanionDescirption + Available + + + Assets\Logo.png diff --git a/FluentWeather.Uwp/Strings/en-US/Resources.resw b/FluentWeather.Uwp/Strings/en-US/Resources.resw index c4392be..70b173b 100644 --- a/FluentWeather.Uwp/Strings/en-US/Resources.resw +++ b/FluentWeather.Uwp/Strings/en-US/Resources.resw @@ -59,46 +59,46 @@ : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> - - + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -228,6 +228,9 @@ Cloud amount + + Skyline Weather Start Menu Companion (BETA) + Country/Region @@ -309,6 +312,9 @@ Follow system + + Forecast + Get @@ -647,6 +653,9 @@ Please change this option to api.qweather.com if you use a paid KEY. Update + + View details + View diff --git a/FluentWeather.Uwp/Strings/zh-CN/Resources.resw b/FluentWeather.Uwp/Strings/zh-CN/Resources.resw index a7c9109..d389b47 100644 --- a/FluentWeather.Uwp/Strings/zh-CN/Resources.resw +++ b/FluentWeather.Uwp/Strings/zh-CN/Resources.resw @@ -309,6 +309,9 @@ 跟随系统 + + 预报 + 获取 @@ -647,6 +650,9 @@ 更新 + + 查看更多 + 查看 diff --git a/FluentWeather.Uwp/Themes/Generic.xaml b/FluentWeather.Uwp/Themes/Generic.xaml index d4856e7..80f61e5 100644 --- a/FluentWeather.Uwp/Themes/Generic.xaml +++ b/FluentWeather.Uwp/Themes/Generic.xaml @@ -1065,7 +1065,8 @@ + TextWrapping="WrapWholeWords" + Visibility="{StaticResource HourlyWeatherDescriptionVisibility}" /> 0) - { - TileHelper.UpdateWarningTile(Warnings); - TileHelper.UpdateBadge(Warnings.Count); - } } catch {