From 91980bea549bc9818aeeeb13ad36d69e6b3f8691 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Mon, 7 Mar 2022 11:24:09 +0000 Subject: [PATCH] fix initialisation order. --- src/Android/Avalonia.Android/AvaloniaActivity.cs | 10 ++++++---- src/Android/Avalonia.Android/AvaloniaView.cs | 7 ++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Android/Avalonia.Android/AvaloniaActivity.cs b/src/Android/Avalonia.Android/AvaloniaActivity.cs index 7927a13c44..f5d620a97a 100644 --- a/src/Android/Avalonia.Android/AvaloniaActivity.cs +++ b/src/Android/Avalonia.Android/AvaloniaActivity.cs @@ -31,20 +31,22 @@ namespace Avalonia.Android CustomizeAppBuilder(builder); + View = new AvaloniaView(this); + SetContentView(View); + var lifetime = new SingleViewLifetime(); + lifetime.View = View; builder.AfterSetup(x => { - View = new AvaloniaView(this); - SetContentView(View); - _viewModel = new ViewModelProvider(this).Get(Java.Lang.Class.FromType(typeof(AvaloniaViewModel))) as AvaloniaViewModel; - lifetime.View = View; if (_viewModel.Content != null) { View.Content = _viewModel.Content; } + + View.Prepare(); }); builder.SetupWithLifetime(lifetime); diff --git a/src/Android/Avalonia.Android/AvaloniaView.cs b/src/Android/Avalonia.Android/AvaloniaView.cs index 8de3657283..8177cf1f69 100644 --- a/src/Android/Avalonia.Android/AvaloniaView.cs +++ b/src/Android/Avalonia.Android/AvaloniaView.cs @@ -12,7 +12,7 @@ namespace Avalonia.Android { public class AvaloniaView : FrameLayout { - private readonly EmbeddableControlRoot _root; + private EmbeddableControlRoot _root; private readonly ViewImpl _view; private IDisposable? _timerSubscription; @@ -21,6 +21,11 @@ namespace Avalonia.Android { _view = new ViewImpl(context); AddView(_view.View); + + } + + internal void Prepare () + { _root = new EmbeddableControlRoot(_view); _root.Prepare(); }