using Microsoft.Extensions.DependencyInjection; using MijnBesluit.AppUi; namespace MijnBesluit.App; public partial class App : Application { private readonly Terugknop _terugknop; public App(Terugknop terugknop) { InitializeComponent(); _terugknop = terugknop; } protected override Window CreateWindow(IActivationState? activationState) { var venster = new Window(new HoofdPagina(_terugknop)) { Title = "MijnBesluit" }; // Android verbreekt de socketverbinding zodra de app een tijdje op de achtergrond staat - // bijvoorbeeld terwijl iemand zijn e-mail leest om de inlogcode op te halen. Bij het // terugkomen halen we de gegevens opnieuw op, zodat de melding "geen verbinding" // verdwijnt zonder dat de gebruiker ergens op hoeft te drukken. venster.Resumed += async (_, _) => { var diensten = IPlatformApplication.Current?.Services; // Eerst kijken of de app zichzelf had moeten uitloggen terwijl hij in de achtergrond // stond. Dat is het geval waar automatisch uitloggen voor bedoeld is - een telefoon // die een uur in een tas zit - en het hoort te gebeuren vóór we gegevens ophalen. diensten?.GetService()?.Hervatten(); var toestand = diensten?.GetService(); if (toestand is { IsAangemeld: true }) await toestand.VerversAsync(); }; return venster; } }