diff --git a/src/Android/Avalonia.Android/AndroidPlatform.cs b/src/Android/Avalonia.Android/AndroidPlatform.cs index 1a6624e8f6..ae3a69eeea 100644 --- a/src/Android/Avalonia.Android/AndroidPlatform.cs +++ b/src/Android/Avalonia.Android/AndroidPlatform.cs @@ -1,4 +1,3 @@ -using Avalonia.Android.CanvasRendering; using Avalonia.Android.Platform; using Avalonia.Android.Platform.Input; using Avalonia.Android.Platform.Specific; @@ -35,7 +34,6 @@ namespace Avalonia.Android .Bind().ToConstant(this) .Bind().ToConstant(new AndroidThreadingInterface()) .Bind().ToTransient() - .Bind().ToTransient() .Bind().ToConstant(this); SkiaPlatform.Initialize(); diff --git a/src/Android/Avalonia.Android/Avalonia.Android.csproj b/src/Android/Avalonia.Android/Avalonia.Android.csproj index 9af96f0f93..a412930b85 100644 --- a/src/Android/Avalonia.Android/Avalonia.Android.csproj +++ b/src/Android/Avalonia.Android/Avalonia.Android.csproj @@ -74,7 +74,6 @@ - diff --git a/src/Android/Avalonia.Android/Platform/AndroidTopLevelRenderer.cs b/src/Android/Avalonia.Android/Platform/AndroidTopLevelRenderer.cs deleted file mode 100644 index 0807471fe9..0000000000 --- a/src/Android/Avalonia.Android/Platform/AndroidTopLevelRenderer.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Avalonia.Controls; -using Avalonia.Controls.Platform; -using Avalonia.Platform; -using Avalonia.Rendering; -using Avalonia.Threading; -using System; -using System.Collections.Generic; - -namespace Avalonia.Android.CanvasRendering -{ - internal class AndroidTopLevelRenderer : ITopLevelRenderer - { - public void Attach(TopLevel topLevel) - { - var resources = new List(); - var initialClientSize = topLevel.PlatformImpl.ClientSize; - - - var queueManager = ((IRenderRoot)topLevel).RenderQueueManager; - - if (queueManager == null) - return; - - - var viewport = PlatformManager.CreateRenderTarget(topLevel.PlatformImpl); - resources.Add(viewport); - //resources.Add(queueManager.RenderNeeded.Subscribe(_ - // => - // Dispatcher.UIThread.InvokeAsync(() => topLevel.PlatformImpl.Invalidate(new Rect(topLevel.ClientSize))))); - Action pendingInvalidation = null; - resources.Add(queueManager.RenderNeeded.Subscribe(_ => - { - if (pendingInvalidation == null) - { - pendingInvalidation = () => - { - topLevel.PlatformImpl.Invalidate(new Rect(topLevel.ClientSize)); - pendingInvalidation = null; - }; - Dispatcher.UIThread.InvokeAsync(pendingInvalidation); - } - } - )); - - topLevel.PlatformImpl.Paint = rect => - { - viewport.Render(topLevel); - queueManager.RenderFinished(); - }; - - topLevel.Closed += delegate - { - foreach (var disposable in resources) - disposable.Dispose(); - resources.Clear(); - }; - } - } -} \ No newline at end of file