Browse Source

Fix android options initalization order

pull/8706/head
Max Katz 4 years ago
parent
commit
f314abd8ab
  1. 12
      src/Android/Avalonia.Android/AndroidPlatform.cs

12
src/Android/Avalonia.Android/AndroidPlatform.cs

@ -17,10 +17,8 @@ namespace Avalonia
{ {
public static T UseAndroid<T>(this T builder) where T : AppBuilderBase<T>, new() public static T UseAndroid<T>(this T builder) where T : AppBuilderBase<T>, new()
{ {
var options = AvaloniaLocator.Current.GetService<AndroidPlatformOptions>() ?? new AndroidPlatformOptions();
return builder return builder
.UseWindowingSubsystem(() => AndroidPlatform.Initialize(options), "Android") .UseWindowingSubsystem(() => AndroidPlatform.Initialize(), "Android")
.UseSkia(); .UseSkia();
} }
} }
@ -45,9 +43,9 @@ namespace Avalonia.Android
internal static Compositor Compositor { get; private set; } internal static Compositor Compositor { get; private set; }
public static void Initialize(AndroidPlatformOptions options) public static void Initialize()
{ {
Options = options; Options = AvaloniaLocator.Current.GetService<AndroidPlatformOptions>() ?? new AndroidPlatformOptions();
AvaloniaLocator.CurrentMutable AvaloniaLocator.CurrentMutable
.Bind<IClipboard>().ToTransient<ClipboardImpl>() .Bind<IClipboard>().ToTransient<ClipboardImpl>()
@ -61,12 +59,12 @@ namespace Avalonia.Android
.Bind<IRenderLoop>().ToConstant(new RenderLoop()) .Bind<IRenderLoop>().ToConstant(new RenderLoop())
.Bind<PlatformHotkeyConfiguration>().ToSingleton<PlatformHotkeyConfiguration>(); .Bind<PlatformHotkeyConfiguration>().ToSingleton<PlatformHotkeyConfiguration>();
if (options.UseGpu) if (Options.UseGpu)
{ {
EglPlatformOpenGlInterface.TryInitialize(); EglPlatformOpenGlInterface.TryInitialize();
} }
if (options.UseCompositor) if (Options.UseCompositor)
{ {
Compositor = new Compositor( Compositor = new Compositor(
AvaloniaLocator.Current.GetRequiredService<IRenderLoop>(), AvaloniaLocator.Current.GetRequiredService<IRenderLoop>(),

Loading…
Cancel
Save