Browse Source

Use features that are now available in netstandard.

Various features were moved into `IRuntimePlatform` because they weren't available on netstandard 1.x. They're now available in netstandard 2 so use them directly.
Steven Kirk 7 years ago
parent
commit
41c2159aaa

+ 0 - 3
src/Avalonia.Base/Platform/IRuntimePlatform.cs

@@ -5,10 +5,7 @@ namespace Avalonia.Platform
 {
     public interface IRuntimePlatform
     {
-        Assembly[] GetLoadedAssemblies();
-        void PostThreadPoolItem(Action cb);
         IDisposable StartSystemTimer(TimeSpan interval, Action tick);
-        string GetStackTrace();
         RuntimePlatformInfo GetRuntimeInfo();
         IUnmanagedBlob AllocBlob(int size);
     }

+ 1 - 1
src/Avalonia.Controls/AppBuilderBase.cs

@@ -222,7 +222,7 @@ namespace Avalonia.Controls
 
         private void SetupAvaloniaModules()
         {
-            var moduleInitializers = from assembly in AvaloniaLocator.Current.GetService<IRuntimePlatform>().GetLoadedAssemblies()
+            var moduleInitializers = from assembly in AppDomain.CurrentDomain.GetAssemblies()
                                      from attribute in assembly.GetCustomAttributes<ExportAvaloniaModuleAttribute>()
                                      where attribute.ForWindowingSubsystem == ""
                                       || attribute.ForWindowingSubsystem == WindowingSubsystemName

+ 2 - 2
src/Avalonia.DotNetFrameworkRuntime/AppBuilder.cs

@@ -55,7 +55,7 @@ namespace Avalonia
 
             LoadAssembliesInDirectory();
 
-            var windowingSubsystemAttribute = (from assembly in RuntimePlatform.GetLoadedAssemblies()
+            var windowingSubsystemAttribute = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
                                                from attribute in assembly.GetCustomAttributes<ExportWindowingSubsystemAttribute>()
                                                where attribute.RequiredOS == os && CheckEnvironment(attribute.EnvironmentChecker)
                                                orderby attribute.Priority ascending
@@ -65,7 +65,7 @@ namespace Avalonia
                 throw new InvalidOperationException("No windowing subsystem found. Are you missing assembly references?");
             }
 
-            var renderingSubsystemAttribute = (from assembly in RuntimePlatform.GetLoadedAssemblies()
+            var renderingSubsystemAttribute = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
                                                from attribute in assembly.GetCustomAttributes<ExportRenderingSubsystemAttribute>()
                                                where attribute.RequiredOS == os && CheckEnvironment(attribute.EnvironmentChecker)
                                                where attribute.RequiresWindowingSubsystem == null

+ 1 - 1
src/Linux/Avalonia.LinuxFramebuffer/Mice.cs

@@ -22,7 +22,7 @@ namespace Avalonia.LinuxFramebuffer
             _height = height;
         }
 
-        public void Start() => AvaloniaLocator.Current.GetService<IRuntimePlatform>().PostThreadPoolItem(Worker);
+        public void Start() => ThreadPool.UnsafeQueueUserWorkItem(_ => Worker(), null);
 
         private void Worker()
         {

+ 1 - 3
src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaRuntimeTypeProvider.cs

@@ -91,9 +91,7 @@ namespace Avalonia.Markup.Xaml.Context
 
         private void ScanNewAssemblies()
         {
-            IEnumerable<Assembly> assemblies = AvaloniaLocator.Current
-                .GetService<IRuntimePlatform>()
-                ?.GetLoadedAssemblies();
+            IEnumerable<Assembly> assemblies = AppDomain.CurrentDomain.GetAssemblies();
 
             if (assemblies != null)
             {

+ 1 - 1
src/Shared/PlatformSupport/AssetLoader.cs

@@ -157,7 +157,7 @@ namespace Avalonia.Shared.PlatformSupport
             AssemblyDescriptor rv;
             if (!AssemblyNameCache.TryGetValue(name, out rv))
             {
-                var loadedAssemblies = AvaloniaLocator.Current.GetService<IRuntimePlatform>().GetLoadedAssemblies();
+                var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
                 var match = loadedAssemblies.FirstOrDefault(a => a.GetName().Name == name);
                 if (match != null)
                 {

+ 0 - 4
src/Shared/PlatformSupport/StandardRuntimePlatform.cs

@@ -13,15 +13,11 @@ namespace Avalonia.Shared.PlatformSupport
 {
     internal partial class StandardRuntimePlatform : IRuntimePlatform
     {
-        public void PostThreadPoolItem(Action cb) => ThreadPool.UnsafeQueueUserWorkItem(_ => cb(), null);
-        public Assembly[] GetLoadedAssemblies() => AppDomain.CurrentDomain.GetAssemblies();
         public IDisposable StartSystemTimer(TimeSpan interval, Action tick)
         {
             return new Timer(_ => tick(), null, interval, interval);
         }
 
-        public string GetStackTrace() => Environment.StackTrace;
-
         public IUnmanagedBlob AllocBlob(int size) => new UnmanagedBlob(this, size);
         
         class UnmanagedBlob : IUnmanagedBlob