diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb987447..19874f11a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ ### Fixed +* Podcast availability from Android +* avoid NRE in MailSender on rdv query notifications + ## [1.0.8-rc29] - unstable ### Added diff --git a/src/PostIt/PostIt.Android/Application.cs b/src/PostIt/PostIt.Android/Application.cs index 040b01ca3..d8d758579 100644 --- a/src/PostIt/PostIt.Android/Application.cs +++ b/src/PostIt/PostIt.Android/Application.cs @@ -9,6 +9,7 @@ using Microsoft.Extensions.DependencyInjection; using Avalonia.Controls; using Avalonia.Styling; using Yavsc.Api.Client; +using PostIt.Services; [assembly: UsesPermission(Manifest.Permission.AccessFineLocation)] [assembly: UsesPermission(Manifest.Permission.AccessCoarseLocation)] @@ -20,6 +21,7 @@ namespace PostIt.Android { protected Application(nint javaReference, JniHandleOwnership transfer) : base(javaReference, transfer) { + Platform.IsPodcastSupported = true; } protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) diff --git a/src/PostIt/PostIt.Browser/Program.cs b/src/PostIt/PostIt.Browser/Program.cs index f91cc4eec..e1d1672aa 100644 --- a/src/PostIt/PostIt.Browser/Program.cs +++ b/src/PostIt/PostIt.Browser/Program.cs @@ -2,15 +2,21 @@ using Avalonia; using Avalonia.Browser; using PostIt; +using PostIt.Services; internal sealed partial class Program { - private static Task Main(string[] args) => BuildAvaloniaApp() + private static Task Main(string[] args) + { + Platform.IsPodcastSupported = false; + + return BuildAvaloniaApp() .WithInterFont() #if DEBUG .WithDeveloperTools() #endif .StartBrowserAppAsync("out"); + } public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure(); diff --git a/src/PostIt/PostIt.Desktop/Program.cs b/src/PostIt/PostIt.Desktop/Program.cs index 1c5aa0c27..af8867141 100644 --- a/src/PostIt/PostIt.Desktop/Program.cs +++ b/src/PostIt/PostIt.Desktop/Program.cs @@ -13,6 +13,7 @@ sealed class Program [STAThread] public static void Main(string[] args) { + Platform.IsPodcastSupported = true; CLIOptionHandler.HandleArgs(args); // Short-circuit 2nd-instance launches (OS handing us the diff --git a/src/PostIt/PostIt/Services/Platform.cs b/src/PostIt/PostIt/Services/Platform.cs index 78646c886..85a5026f5 100644 --- a/src/PostIt/PostIt/Services/Platform.cs +++ b/src/PostIt/PostIt/Services/Platform.cs @@ -57,4 +57,6 @@ public static class Platform /// public static Func> TryGetCurrentLocationAsync { get; set; } = _ => Task.FromResult(CurrentLocationResult.Unavailable()); + + public static bool IsPodcastSupported { get; set; } = false; } diff --git a/src/PostIt/PostIt/ViewModels/Layout/HomePageViewModel.cs b/src/PostIt/PostIt/ViewModels/Layout/HomePageViewModel.cs index d2e023fd4..c801806d2 100644 --- a/src/PostIt/PostIt/ViewModels/Layout/HomePageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/Layout/HomePageViewModel.cs @@ -12,6 +12,7 @@ using PostIt.ViewModels.Chat; using Yavsc.Abstract.Models.Messaging; using Yavsc.Api.Client; + namespace PostIt.ViewModels; public class HomePageViewModel : ViewModelBase @@ -86,7 +87,7 @@ public class HomePageViewModel : ViewModelBase public IAsyncRelayCommand OpenChat { get; } public IAsyncRelayCommand OpenPodcasts { get; } - public bool SupportsPodcasts => OperatingSystem.IsWindows() || OperatingSystem.IsLinux(); + public bool SupportsPodcasts => Platform.IsPodcastSupported; public IAsyncRelayCommand OpenBlogs { get; } public IAsyncRelayCommand OpenProfile { get; } public IAsyncRelayCommand OpenPerformerConfiguration { get; }