Files
MijnBesluit/src/MijnBesluit.App/App.xaml.cs
T
2026-09-27 14:21:31 +00:00

40 lines
1.5 KiB
C#

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<Uitlogklok>()?.Hervatten();
var toestand = diensten?.GetService<AppToestand>();
if (toestand is { IsAangemeld: true }) await toestand.VerversAsync();
};
return venster;
}
}