소스 검색

Merge branch 'master' into feature/TabControlRework

Benedikt Schroeder 7 년 전
부모
커밋
caa1053b25
100개의 변경된 파일171개의 추가작업 그리고 319개의 파일을 삭제
  1. 1 1
      samples/ControlCatalog/ControlCatalog.csproj
  2. 1 0
      samples/ControlCatalog/MainView.xaml
  3. 13 0
      samples/ControlCatalog/Pages/ListBoxPage.xaml
  4. 25 0
      samples/ControlCatalog/Pages/ListBoxPage.xaml.cs
  5. 2 2
      samples/ControlCatalog/Pages/NumericUpDownPage.xaml
  6. 6 2
      samples/ControlCatalog/Pages/ScreenPage.cs
  7. 1 5
      src/Android/Avalonia.Android/AndroidPlatform.cs
  8. 0 10
      src/Android/Avalonia.Android/AndroidThreadingInterface.cs
  9. 1 13
      src/Android/Avalonia.Android/AppBuilder.cs
  10. 1 8
      src/Android/Avalonia.Android/AvaloniaActivity.cs
  11. 1 8
      src/Android/Avalonia.Android/AvaloniaView.cs
  12. 1 1
      src/Android/Avalonia.Android/CursorFactory.cs
  13. 2 2
      src/Android/Avalonia.Android/Platform/ClipboardImpl.cs
  14. 2 3
      src/Android/Avalonia.Android/Platform/Input/AndroidKeyboardDevice.cs
  15. 1 1
      src/Android/Avalonia.Android/Platform/SkiaPlatform/AndroidFramebuffer.cs
  16. 1 9
      src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs
  17. 1 8
      src/Android/Avalonia.Android/Platform/SkiaPlatform/PopupImpl.cs
  18. 5 8
      src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs
  19. 4 4
      src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs
  20. 2 4
      src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidTouchEventsHelper.cs
  21. 1 8
      src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs
  22. 2 13
      src/Android/Avalonia.Android/PlatformIconLoader.cs
  23. 1 1
      src/Android/Avalonia.Android/SystemDialogImpl.cs
  24. 3 6
      src/Avalonia.Animation/Animatable.cs
  25. 4 8
      src/Avalonia.Animation/Animation.cs
  26. 0 4
      src/Avalonia.Animation/AnimatorKeyFrame.cs
  27. 7 10
      src/Avalonia.Animation/Animator`1.cs
  28. 0 2
      src/Avalonia.Animation/Cue.cs
  29. 1 10
      src/Avalonia.Animation/DoubleAnimator.cs
  30. 0 1
      src/Avalonia.Animation/DoubleTransition.cs
  31. 0 1
      src/Avalonia.Animation/Easing/BounceEaseIn.cs
  32. 1 4
      src/Avalonia.Animation/Easing/Easing.cs
  33. 1 2
      src/Avalonia.Animation/Easing/EasingTypeConverter.cs
  34. 1 1
      src/Avalonia.Animation/Easing/ElasticEaseIn.cs
  35. 1 1
      src/Avalonia.Animation/Easing/ElasticEaseOut.cs
  36. 1 1
      src/Avalonia.Animation/Easing/SineEaseIn.cs
  37. 1 1
      src/Avalonia.Animation/Easing/SineEaseOut.cs
  38. 1 5
      src/Avalonia.Animation/FillMode.cs
  39. 0 1
      src/Avalonia.Animation/FloatTransition.cs
  40. 0 2
      src/Avalonia.Animation/IAnimation.cs
  41. 0 1
      src/Avalonia.Animation/IAnimator.cs
  42. 0 2
      src/Avalonia.Animation/ITransition.cs
  43. 0 1
      src/Avalonia.Animation/IntegerTransition.cs
  44. 0 3
      src/Avalonia.Animation/KeyFrame.cs
  45. 0 11
      src/Avalonia.Animation/KeyFramePair`1.cs
  46. 2 6
      src/Avalonia.Animation/PlayState.cs
  47. 1 5
      src/Avalonia.Animation/PlaybackDirection.cs
  48. 1 4
      src/Avalonia.Animation/RepeatCount.cs
  49. 1 2
      src/Avalonia.Animation/RepeatCountTypeConverter.cs
  50. 0 2
      src/Avalonia.Animation/Timing.cs
  51. 1 2
      src/Avalonia.Animation/Transition`1.cs
  52. 0 2
      src/Avalonia.Animation/Utils/DoubleUtils.cs
  53. 0 1
      src/Avalonia.Base/AvaloniaLocator.cs
  54. 0 2
      src/Avalonia.Base/AvaloniaObject.cs
  55. 2 2
      src/Avalonia.Base/AvaloniaProperty.cs
  56. 1 2
      src/Avalonia.Base/Collections/AvaloniaList.cs
  57. 1 1
      src/Avalonia.Base/Collections/AvaloniaListConverter.cs
  58. 0 1
      src/Avalonia.Base/Collections/AvaloniaListExtensions.cs
  59. 2 2
      src/Avalonia.Base/Collections/IAvaloniaList.cs
  60. 2 2
      src/Avalonia.Base/Collections/IAvaloniaReadOnlyList.cs
  61. 2 2
      src/Avalonia.Base/Collections/NotifyCollectionChangedExtensions.cs
  62. 5 5
      src/Avalonia.Base/Data/BindingChainException.cs
  63. 0 1
      src/Avalonia.Base/Data/BindingNotification.cs
  64. 1 1
      src/Avalonia.Base/Data/BindingOperations.cs
  65. 2 4
      src/Avalonia.Base/Data/Converters/AlwaysEnabledDelegateCommand.cs
  66. 1 2
      src/Avalonia.Base/Data/Converters/DefaultValueConverter.cs
  67. 0 1
      src/Avalonia.Base/Data/Converters/IValueConverter.cs
  68. 0 3
      src/Avalonia.Base/Data/Converters/StringConverters.cs
  69. 0 2
      src/Avalonia.Base/Data/Core/AvaloniaPropertyAccessorNode.cs
  70. 0 3
      src/Avalonia.Base/Data/Core/EmptyExpressionNode.cs
  71. 0 1
      src/Avalonia.Base/Data/Core/ExpressionObserver.cs
  72. 0 1
      src/Avalonia.Base/Data/Core/ExpressionParseException.cs
  73. 1 5
      src/Avalonia.Base/Data/Core/ITransformNode.cs
  74. 0 2
      src/Avalonia.Base/Data/Core/IndexerExpressionNode.cs
  75. 0 4
      src/Avalonia.Base/Data/Core/IndexerNodeBase.cs
  76. 0 1
      src/Avalonia.Base/Data/Core/LogicalNotNode.cs
  77. 1 4
      src/Avalonia.Base/Data/Core/Parsers/ExpressionTreeParser.cs
  78. 0 2
      src/Avalonia.Base/Data/Core/Parsers/ExpressionVisitorNodeBuilder.cs
  79. 0 2
      src/Avalonia.Base/Data/Core/Plugins/AvaloniaPropertyAccessorPlugin.cs
  80. 1 2
      src/Avalonia.Base/Data/Core/Plugins/DataAnnotationsValidationPlugin.cs
  81. 4 5
      src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs
  82. 1 1
      src/Avalonia.Base/Data/Core/Plugins/ExceptionValidationPlugin.cs
  83. 0 1
      src/Avalonia.Base/Data/Core/Plugins/IDataValidationPlugin.cs
  84. 1 1
      src/Avalonia.Base/Data/Core/Plugins/IndeiValidationPlugin.cs
  85. 0 2
      src/Avalonia.Base/Data/Core/Plugins/InpcPropertyAccessorPlugin.cs
  86. 1 4
      src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs
  87. 0 2
      src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs
  88. 1 6
      src/Avalonia.Base/Data/Core/SettableNode.cs
  89. 0 2
      src/Avalonia.Base/Data/Core/StreamBindingExtensions.cs
  90. 1 1
      src/Avalonia.Base/Data/IBinding.cs
  91. 1 1
      src/Avalonia.Base/Logging/Logger.cs
  92. 0 4
      src/Avalonia.Base/Platform/IRuntimePlatform.cs
  93. 0 1
      src/Avalonia.Base/PriorityLevel.cs
  94. 3 3
      src/Avalonia.Base/PriorityValue.cs
  95. 0 1
      src/Avalonia.Base/PropertyMetadata.cs
  96. 1 6
      src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs
  97. 14 0
      src/Avalonia.Base/Threading/Dispatcher.cs
  98. 18 0
      src/Avalonia.Base/Threading/IDispatcher.cs
  99. 0 2
      src/Avalonia.Base/Utilities/CharacterReader.cs
  100. 0 3
      src/Avalonia.Base/Utilities/DeferredSetter.cs

+ 1 - 1
samples/ControlCatalog/ControlCatalog.csproj

@@ -50,4 +50,4 @@
   </ItemGroup>
   </ItemGroup>
   
   
   <Import Project="..\..\build\Serilog.props" />
   <Import Project="..\..\build\Serilog.props" />
-</Project>
+</Project>

+ 1 - 0
samples/ControlCatalog/MainView.xaml

@@ -17,6 +17,7 @@
     <TabItem Header="Expander"><pages:ExpanderPage/></TabItem>
     <TabItem Header="Expander"><pages:ExpanderPage/></TabItem>
     <TabItem Header="Image"><pages:ImagePage/></TabItem>
     <TabItem Header="Image"><pages:ImagePage/></TabItem>
     <TabItem Header="LayoutTransformControl"><pages:LayoutTransformControlPage/></TabItem>
     <TabItem Header="LayoutTransformControl"><pages:LayoutTransformControlPage/></TabItem>
+    <TabItem Header="ListBox"><pages:ListBoxPage/></TabItem>
     <TabItem Header="Menu"><pages:MenuPage/></TabItem>
     <TabItem Header="Menu"><pages:MenuPage/></TabItem>
 	<TabItem Header="NumericUpDown"><pages:NumericUpDownPage/></TabItem>
 	<TabItem Header="NumericUpDown"><pages:NumericUpDownPage/></TabItem>
     <TabItem Header="ProgressBar"><pages:ProgressBarPage/></TabItem>
     <TabItem Header="ProgressBar"><pages:ProgressBarPage/></TabItem>

+ 13 - 0
samples/ControlCatalog/Pages/ListBoxPage.xaml

@@ -0,0 +1,13 @@
+<UserControl xmlns="https://github.com/avaloniaui">
+  <StackPanel Orientation="Vertical" Spacing="4">
+    <TextBlock Classes="h1">ListBox</TextBlock>
+    <TextBlock Classes="h2">Hosts a collection of ListBoxItem.</TextBlock>
+
+    <StackPanel Orientation="Horizontal"
+              Margin="0,16,0,0"
+              HorizontalAlignment="Center"
+              Spacing="16">
+      <ListBox Items="{Binding}" Width="250" Height="350"></ListBox>
+    </StackPanel>
+  </StackPanel>
+</UserControl>

+ 25 - 0
samples/ControlCatalog/Pages/ListBoxPage.xaml.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Avalonia.Controls;
+using Avalonia.Markup.Xaml;
+
+namespace ControlCatalog.Pages
+{
+    public class ListBoxPage : UserControl
+    {
+        public ListBoxPage()
+        {
+            this.InitializeComponent();
+            DataContext = Enumerable.Range(1, 10).Select(i => $"Item {i}" )
+                .ToArray();
+        }
+
+        private void InitializeComponent()
+        {
+            AvaloniaXamlLoader.Load(this);
+        }
+
+    }
+}

+ 2 - 2
samples/ControlCatalog/Pages/NumericUpDownPage.xaml

@@ -14,7 +14,7 @@
         <CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding #upDown.IsReadOnly}" VerticalAlignment="Center" Margin="2"/>
         <CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding #upDown.IsReadOnly}" VerticalAlignment="Center" Margin="2"/>
 
 
         <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">AllowSpin:</TextBlock>
         <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">AllowSpin:</TextBlock>
-        <CheckBox Grid.Row="2" Grid.Column="1" IsChecked="{Binding #upDown.AllowSpin}" IsEnabled="{Binding #upDown.!IsReadOnly}" VerticalAlignment="Center" Margin="2"/>
+        <CheckBox Grid.Row="2" Grid.Column="1" IsChecked="{Binding #upDown.AllowSpin}" VerticalAlignment="Center" Margin="2"/>
 
 
         <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">ClipValueToMinMax:</TextBlock>
         <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">ClipValueToMinMax:</TextBlock>
         <CheckBox Grid.Row="3" Grid.Column="1" IsChecked="{Binding #upDown.ClipValueToMinMax}" VerticalAlignment="Center" Margin="2"/>
         <CheckBox Grid.Row="3" Grid.Column="1" IsChecked="{Binding #upDown.ClipValueToMinMax}" VerticalAlignment="Center" Margin="2"/>
@@ -77,4 +77,4 @@
     </StackPanel>
     </StackPanel>
 
 
   </StackPanel>
   </StackPanel>
-</UserControl>
+</UserControl>

+ 6 - 2
samples/ControlCatalog/Pages/ScreenPage.cs

@@ -42,7 +42,11 @@ namespace ControlCatalog.Pages
                     context.DrawRectangle(p, boundsRect);
                     context.DrawRectangle(p, boundsRect);
                     context.DrawRectangle(p, workingAreaRect);
                     context.DrawRectangle(p, workingAreaRect);
                     
                     
-                    FormattedText text = new FormattedText();
+                    FormattedText text = new FormattedText()
+                    {
+                        Typeface = Typeface.Default
+                    };
+
                     text.Text = $"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}";
                     text.Text = $"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}";
                     context.DrawText(Brushes.Black, boundsRect.Position.WithY(boundsRect.Size.Height), text);
                     context.DrawText(Brushes.Black, boundsRect.Position.WithY(boundsRect.Size.Height), text);
                     
                     
@@ -59,4 +63,4 @@ namespace ControlCatalog.Pages
             context.DrawRectangle(p, new Rect(w.Position.X / 10f + Math.Abs(_leftMost), w.Position.Y / 10, w.Bounds.Width / 10, w.Bounds.Height / 10));
             context.DrawRectangle(p, new Rect(w.Position.X / 10f + Math.Abs(_leftMost), w.Position.Y / 10, w.Bounds.Width / 10, w.Bounds.Height / 10));
         }
         }
     }
     }
-}
+}

+ 1 - 5
src/Android/Avalonia.Android/AndroidPlatform.cs

@@ -1,8 +1,4 @@
 using System;
 using System;
-using System.IO;
-using System.Linq;
-using Android.Content;
-using Android.Views;
 using Avalonia.Android.Platform;
 using Avalonia.Android.Platform;
 using Avalonia.Android.Platform.Input;
 using Avalonia.Android.Platform.Input;
 using Avalonia.Android.Platform.SkiaPlatform;
 using Avalonia.Android.Platform.SkiaPlatform;
@@ -79,4 +75,4 @@ namespace Avalonia.Android
             return new PopupImpl();
             return new PopupImpl();
         }
         }
     }
     }
-}
+}

+ 0 - 10
src/Android/Avalonia.Android/AndroidThreadingInterface.cs

@@ -1,16 +1,7 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Text;
 using System.Threading;
 using System.Threading;
-using Android.App;
-using Android.Content;
 using Android.OS;
 using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
 using Avalonia.Platform;
 using Avalonia.Platform;
 using Avalonia.Threading;
 using Avalonia.Threading;
 
 
@@ -88,4 +79,3 @@ namespace Avalonia.Android
         public event Action<DispatcherPriority?> Signaled;
         public event Action<DispatcherPriority?> Signaled;
     }
     }
 }
 }
- 

+ 1 - 13
src/Android/Avalonia.Android/AppBuilder.cs

@@ -1,16 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
 using Avalonia.Controls;
 using Avalonia.Controls;
-using Avalonia.Platform;
 using Avalonia.Shared.PlatformSupport;
 using Avalonia.Shared.PlatformSupport;
 
 
 namespace Avalonia
 namespace Avalonia
@@ -23,4 +11,4 @@ namespace Avalonia
 
 
         }
         }
     }
     }
-}
+}

+ 1 - 8
src/Android/Avalonia.Android/AvaloniaActivity.cs

@@ -1,14 +1,7 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 
 
 using Android.App;
 using Android.App;
-using Android.Content;
 using Android.OS;
 using Android.OS;
-using Android.Runtime;
 using Android.Views;
 using Android.Views;
-using Android.Widget;
 
 
 namespace Avalonia.Android
 namespace Avalonia.Android
 {
 {
@@ -48,4 +41,4 @@ namespace Avalonia.Android
             return View.DispatchKeyEvent(e);
             return View.DispatchKeyEvent(e);
         }
         }
     }
     }
-}
+}

+ 1 - 8
src/Android/Avalonia.Android/AvaloniaView.cs

@@ -1,12 +1,5 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
 using Android.Content;
 using Android.Content;
-using Android.OS;
-using Android.Runtime;
 using Android.Views;
 using Android.Views;
 using Android.Widget;
 using Android.Widget;
 using Avalonia.Android.Platform.SkiaPlatform;
 using Avalonia.Android.Platform.SkiaPlatform;
@@ -66,4 +59,4 @@ namespace Avalonia.Android
             public IDisposable ShowDialog() => null;
             public IDisposable ShowDialog() => null;
         }
         }
     }
     }
-}
+}

+ 1 - 1
src/Android/Avalonia.Android/CursorFactory.cs

@@ -9,4 +9,4 @@ namespace Avalonia.Android
         public IPlatformHandle GetCursor(StandardCursorType cursorType)
         public IPlatformHandle GetCursor(StandardCursorType cursorType)
             => new PlatformHandle(IntPtr.Zero, "ZeroCursor");
             => new PlatformHandle(IntPtr.Zero, "ZeroCursor");
     }
     }
-}
+}

+ 2 - 2
src/Android/Avalonia.Android/Platform/ClipboardImpl.cs

@@ -1,9 +1,9 @@
+using System.Threading.Tasks;
 using Android.Content;
 using Android.Content;
 using Android.Runtime;
 using Android.Runtime;
 using Android.Views;
 using Android.Views;
 using Avalonia.Input.Platform;
 using Avalonia.Input.Platform;
 using Avalonia.Platform;
 using Avalonia.Platform;
-using System.Threading.Tasks;
 
 
 namespace Avalonia.Android.Platform
 namespace Avalonia.Android.Platform
 {
 {
@@ -44,4 +44,4 @@ namespace Avalonia.Android.Platform
             return Task.FromResult<object>(null);
             return Task.FromResult<object>(null);
         }
         }
     }
     }
-}
+}

+ 2 - 3
src/Android/Avalonia.Android/Platform/Input/AndroidKeyboardDevice.cs

@@ -1,12 +1,11 @@
-using System;
-using Avalonia.Input;
 //using Android.InputMethodServices;
 //using Android.InputMethodServices;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using Android.Views;
 using Android.Views;
+using Avalonia.Input;
 
 
 namespace Avalonia.Android.Platform.Input
 namespace Avalonia.Android.Platform.Input
 {
 {
-  public class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice {
+    public class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice {
     private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key>
     private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key>
      {
      {
          //   { Keycode.Cancel?, Key.Cancel },
          //   { Keycode.Cancel?, Key.Cancel },

+ 1 - 1
src/Android/Avalonia.Android/Platform/SkiaPlatform/AndroidFramebuffer.cs

@@ -102,4 +102,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
             uint reserved6;
             uint reserved6;
         }
         }
     }
     }
-}
+}

+ 1 - 9
src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs

@@ -1,17 +1,9 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
 using Android.Content;
 using Android.Content;
 using Android.Graphics;
 using Android.Graphics;
 using Android.OS;
 using Android.OS;
-using Android.Runtime;
 using Android.Util;
 using Android.Util;
 using Android.Views;
 using Android.Views;
-using Android.Widget;
-using Avalonia.Media;
 using Avalonia.Platform;
 using Avalonia.Platform;
 
 
 namespace Avalonia.Android
 namespace Avalonia.Android
@@ -90,4 +82,4 @@ namespace Avalonia.Android
         protected abstract void Draw();
         protected abstract void Draw();
         public string HandleDescriptor => "SurfaceView";
         public string HandleDescriptor => "SurfaceView";
     }
     }
-}
+}

+ 1 - 8
src/Android/Avalonia.Android/Platform/SkiaPlatform/PopupImpl.cs

@@ -1,15 +1,8 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
 using Android.Content;
 using Android.Content;
 using Android.Graphics;
 using Android.Graphics;
-using Android.OS;
 using Android.Runtime;
 using Android.Runtime;
 using Android.Views;
 using Android.Views;
-using Android.Widget;
 using Avalonia.Controls;
 using Avalonia.Controls;
 using Avalonia.Platform;
 using Avalonia.Platform;
 
 
@@ -116,4 +109,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
             //Not supported
             //Not supported
         }
         }
     }
     }
-}
+}

+ 5 - 8
src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs

@@ -1,18 +1,15 @@
-using Android.App;
+using System;
+using System.Collections.Generic;
 using Android.Content;
 using Android.Content;
 using Android.Graphics;
 using Android.Graphics;
 using Android.Views;
 using Android.Views;
+using Avalonia.Android.Platform.Input;
 using Avalonia.Android.Platform.Specific;
 using Avalonia.Android.Platform.Specific;
 using Avalonia.Android.Platform.Specific.Helpers;
 using Avalonia.Android.Platform.Specific.Helpers;
+using Avalonia.Controls.Platform.Surfaces;
 using Avalonia.Input;
 using Avalonia.Input;
 using Avalonia.Input.Raw;
 using Avalonia.Input.Raw;
 using Avalonia.Platform;
 using Avalonia.Platform;
-using System;
-using System.Collections.Generic;
-using System.Reactive.Disposables;
-using Avalonia.Android.Platform.Input;
-using Avalonia.Controls;
-using Avalonia.Controls.Platform.Surfaces;
 using Avalonia.Rendering;
 using Avalonia.Rendering;
 
 
 namespace Avalonia.Android.Platform.SkiaPlatform
 namespace Avalonia.Android.Platform.SkiaPlatform
@@ -196,4 +193,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
 
 
         ILockedFramebuffer IFramebufferPlatformSurface.Lock()=>new AndroidFramebuffer(_view.Holder.Surface);
         ILockedFramebuffer IFramebufferPlatformSurface.Lock()=>new AndroidFramebuffer(_view.Holder.Surface);
     }
     }
-}
+}

+ 4 - 4
src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs

@@ -1,3 +1,5 @@
+using System;
+using System.ComponentModel;
 using Android.Content;
 using Android.Content;
 using Android.Runtime;
 using Android.Runtime;
 using Android.Views;
 using Android.Views;
@@ -7,8 +9,6 @@ using Avalonia.Controls;
 using Avalonia.Input;
 using Avalonia.Input;
 using Avalonia.Input.Raw;
 using Avalonia.Input.Raw;
 using Avalonia.Platform;
 using Avalonia.Platform;
-using System;
-using System.ComponentModel;
 
 
 namespace Avalonia.Android.Platform.Specific.Helpers
 namespace Avalonia.Android.Platform.Specific.Helpers
 {
 {
@@ -120,7 +120,7 @@ namespace Avalonia.Android.Platform.Specific.Helpers
             _lastFocusedElement = element;
             _lastFocusedElement = element;
         }
         }
 
 
-        public void ActivateAutoShowKeybord()
+        public void ActivateAutoShowKeyboard()
         {
         {
             var kbDevice = (KeyboardDevice.Instance as INotifyPropertyChanged);
             var kbDevice = (KeyboardDevice.Instance as INotifyPropertyChanged);
 
 
@@ -142,4 +142,4 @@ namespace Avalonia.Android.Platform.Specific.Helpers
             HandleEvents = false;
             HandleEvents = false;
         }
         }
     }
     }
-}
+}

+ 2 - 4
src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidTouchEventsHelper.cs

@@ -1,10 +1,8 @@
-using Android.Graphics;
+using System;
 using Android.Views;
 using Android.Views;
 using Avalonia.Input;
 using Avalonia.Input;
 using Avalonia.Input.Raw;
 using Avalonia.Input.Raw;
-using Avalonia.Media;
 using Avalonia.Platform;
 using Avalonia.Platform;
-using System;
 
 
 namespace Avalonia.Android.Platform.Specific.Helpers
 namespace Avalonia.Android.Platform.Specific.Helpers
 {
 {
@@ -131,4 +129,4 @@ namespace Avalonia.Android.Platform.Specific.Helpers
             HandleEvents = false;
             HandleEvents = false;
         }
         }
     }
     }
-}
+}

+ 1 - 8
src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs

@@ -1,16 +1,9 @@
-using Android.Graphics;
 using Android.Views;
 using Android.Views;
-using System;
-using System.Collections.Generic;
 
 
 namespace Avalonia.Android.Platform.Specific
 namespace Avalonia.Android.Platform.Specific
 {
 {
     public interface IAndroidView
     public interface IAndroidView
     {
     {
-
-
         View View { get; }
         View View { get; }
     }
     }
-
-
-}
+}

+ 2 - 13
src/Android/Avalonia.Android/PlatformIconLoader.cs

@@ -1,16 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
-using Avalonia.Platform;
 using System.IO;
 using System.IO;
+using Avalonia.Platform;
 
 
 namespace Avalonia.Android
 namespace Avalonia.Android
 {
 {
@@ -54,4 +43,4 @@ namespace Avalonia.Android
             stream.CopyTo(outputStream);
             stream.CopyTo(outputStream);
         }
         }
     }
     }
-}
+}

+ 1 - 1
src/Android/Avalonia.Android/SystemDialogImpl.cs

@@ -18,4 +18,4 @@ namespace Avalonia.Android
             throw new NotImplementedException();
             throw new NotImplementedException();
         }
         }
     }
     }
-}
+}

+ 3 - 6
src/Avalonia.Animation/Animatable.cs

@@ -1,15 +1,12 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using System.Linq;
-using Avalonia.Data;
 using System;
 using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 using Avalonia.Collections;
 using Avalonia.Collections;
-using Avalonia.Animation;
-using System.Collections.Generic;
-using System.Threading;
-using System.Collections.Concurrent;
+using Avalonia.Data;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {

+ 4 - 8
src/Avalonia.Animation/Animation.cs

@@ -1,18 +1,14 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Easings;
-using Avalonia.Animation;
-using Avalonia.Collections;
-using Avalonia.Metadata;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Reflection;
 using System.Linq;
 using System.Linq;
-using System.Threading.Tasks;
-using System.Reactive.Linq;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
+using System.Reactive.Linq;
+using System.Threading.Tasks;
+using Avalonia.Animation.Easings;
+using Avalonia.Collections;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {

+ 0 - 4
src/Avalonia.Animation/AnimatorKeyFrame.cs

@@ -1,9 +1,5 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.ComponentModel;
 using System.ComponentModel;
-using Avalonia.Metadata;
-using Avalonia.Collections;
 using Avalonia.Data;
 using Avalonia.Data;
 using Avalonia.Reactive;
 using Avalonia.Reactive;
 
 

+ 7 - 10
src/Avalonia.Animation/Animator`1.cs

@@ -1,13 +1,10 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Text;
-using Avalonia.Collections;
-using System.ComponentModel;
-using Avalonia.Animation.Utils;
-using System.Reactive.Linq;
 using System.Linq;
 using System.Linq;
+using System.Reactive.Linq;
+using Avalonia.Animation.Utils;
+using Avalonia.Collections;
 using Avalonia.Data;
 using Avalonia.Data;
-using System.Reactive.Disposables;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {
@@ -21,7 +18,7 @@ namespace Avalonia.Animation
         /// </summary>
         /// </summary>
         private readonly SortedList<double, (AnimatorKeyFrame, bool isNeutral)> _convertedKeyframes = new SortedList<double, (AnimatorKeyFrame, bool)>();
         private readonly SortedList<double, (AnimatorKeyFrame, bool isNeutral)> _convertedKeyframes = new SortedList<double, (AnimatorKeyFrame, bool)>();
 
 
-        private bool _isVerfifiedAndConverted;
+        private bool _isVerifiedAndConverted;
 
 
         /// <summary>
         /// <summary>
         /// Gets or sets the target property for the keyframe.
         /// Gets or sets the target property for the keyframe.
@@ -31,13 +28,13 @@ namespace Avalonia.Animation
         public Animator()
         public Animator()
         {
         {
             // Invalidate keyframes when changed.
             // Invalidate keyframes when changed.
-            this.CollectionChanged += delegate { _isVerfifiedAndConverted = false; };
+            this.CollectionChanged += delegate { _isVerifiedAndConverted = false; };
         }
         }
 
 
         /// <inheritdoc/>
         /// <inheritdoc/>
         public virtual IDisposable Apply(Animation animation, Animatable control, IObservable<bool> obsMatch, Action onComplete)
         public virtual IDisposable Apply(Animation animation, Animatable control, IObservable<bool> obsMatch, Action onComplete)
         {
         {
-            if (!_isVerfifiedAndConverted)
+            if (!_isVerifiedAndConverted)
                 VerifyConvertKeyFrames();
                 VerifyConvertKeyFrames();
 
 
             return obsMatch
             return obsMatch
@@ -124,7 +121,7 @@ namespace Avalonia.Animation
             }
             }
 
 
             AddNeutralKeyFramesIfNeeded();
             AddNeutralKeyFramesIfNeeded();
-            _isVerfifiedAndConverted = true;
+            _isVerifiedAndConverted = true;
 
 
         }
         }
 
 

+ 0 - 2
src/Avalonia.Animation/Cue.cs

@@ -1,8 +1,6 @@
 using System;
 using System;
-using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.Globalization;
-using System.Text;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {

+ 1 - 10
src/Avalonia.Animation/DoubleAnimator.cs

@@ -1,13 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Linq;
-using System.Reactive.Linq;
-using System.Diagnostics;
-using Avalonia.Animation.Utils;
-using Avalonia.Data;
-
-namespace Avalonia.Animation
+namespace Avalonia.Animation
 {
 {
     /// <summary>
     /// <summary>
     /// Animator that handles <see cref="double"/> properties.
     /// Animator that handles <see cref="double"/> properties.

+ 0 - 1
src/Avalonia.Animation/DoubleTransition.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Metadata;
 using System;
 using System;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 
 

+ 0 - 1
src/Avalonia.Animation/Easing/BounceEaseIn.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-
 using Avalonia.Animation.Utils;
 using Avalonia.Animation.Utils;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings

+ 1 - 4
src/Avalonia.Animation/Easing/Easing.cs

@@ -1,10 +1,7 @@
-using Avalonia.Collections;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Text;
-using System.Reflection;
-using System.Linq;
 using System.ComponentModel;
 using System.ComponentModel;
+using System.Linq;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings
 {
 {

+ 1 - 2
src/Avalonia.Animation/Easing/EasingTypeConverter.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Easings;
 using System;
 using System;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.Globalization;
@@ -20,4 +19,4 @@ namespace Avalonia.Animation.Easings
             return Easing.Parse((string)value);
             return Easing.Parse((string)value);
         }
         }
     }
     }
-}
+}

+ 1 - 1
src/Avalonia.Animation/Easing/ElasticEaseIn.cs

@@ -1,8 +1,8 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Utils;
 using System;
 using System;
+using Avalonia.Animation.Utils;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings
 {
 {

+ 1 - 1
src/Avalonia.Animation/Easing/ElasticEaseOut.cs

@@ -1,8 +1,8 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Utils;
 using System;
 using System;
+using Avalonia.Animation.Utils;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings
 {
 {

+ 1 - 1
src/Avalonia.Animation/Easing/SineEaseIn.cs

@@ -1,8 +1,8 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Utils;
 using System;
 using System;
+using Avalonia.Animation.Utils;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings
 {
 {

+ 1 - 1
src/Avalonia.Animation/Easing/SineEaseOut.cs

@@ -1,8 +1,8 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Utils;
 using System;
 using System;
+using Avalonia.Animation.Utils;
 
 
 namespace Avalonia.Animation.Easings
 namespace Avalonia.Animation.Easings
 {
 {

+ 1 - 5
src/Avalonia.Animation/FillMode.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Avalonia.Animation
+namespace Avalonia.Animation
 {
 {
     public enum FillMode
     public enum FillMode
     {
     {

+ 0 - 1
src/Avalonia.Animation/FloatTransition.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Metadata;
 using System;
 using System;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 
 

+ 0 - 2
src/Avalonia.Animation/IAnimation.cs

@@ -1,6 +1,4 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation

+ 0 - 1
src/Avalonia.Animation/IAnimator.cs

@@ -1,6 +1,5 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Text;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {

+ 0 - 2
src/Avalonia.Animation/ITransition.cs

@@ -1,9 +1,7 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Metadata;
 using System;
 using System;
-using System.Reactive.Linq;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {

+ 0 - 1
src/Avalonia.Animation/IntegerTransition.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Metadata;
 using System;
 using System;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 
 

+ 0 - 3
src/Avalonia.Animation/KeyFrame.cs

@@ -1,8 +1,5 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Text;
-using System.ComponentModel;
-using Avalonia.Metadata;
 using Avalonia.Collections;
 using Avalonia.Collections;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation

+ 0 - 11
src/Avalonia.Animation/KeyFramePair`1.cs

@@ -1,14 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Avalonia.Collections;
-using System.ComponentModel;
-using Avalonia.Animation.Utils;
-using System.Reactive.Linq;
-using System.Linq;
-using Avalonia.Data;
-using System.Reactive.Disposables;
-
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {
     /// <summary>
     /// <summary>

+ 2 - 6
src/Avalonia.Animation/PlayState.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Avalonia.Animation
+namespace Avalonia.Animation
 {
 {
     /// <summary>
     /// <summary>
     /// Determines the playback state of an animation.
     /// Determines the playback state of an animation.
@@ -24,4 +20,4 @@ namespace Avalonia.Animation
         /// </summary>
         /// </summary>
         Stop
         Stop
     }
     }
-}
+}

+ 1 - 5
src/Avalonia.Animation/PlaybackDirection.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Avalonia.Animation
+namespace Avalonia.Animation
 {
 {
     /// <summary>
     /// <summary>
     /// Determines the playback direction of an animation.
     /// Determines the playback direction of an animation.

+ 1 - 4
src/Avalonia.Animation/RepeatCount.cs

@@ -1,12 +1,9 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Utilities;
 using System;
 using System;
-using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.Globalization;
-using System.Linq;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation
 {
 {
@@ -199,4 +196,4 @@ namespace Avalonia.Animation
             }
             }
         }
         }
     }
     }
-}
+}

+ 1 - 2
src/Avalonia.Animation/RepeatCountTypeConverter.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Animation.Easings;
 using System;
 using System;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.Globalization;
@@ -20,4 +19,4 @@ namespace Avalonia.Animation
             return RepeatCount.Parse((string)value);
             return RepeatCount.Parse((string)value);
         }
         }
     }
     }
-}
+}

+ 0 - 2
src/Avalonia.Animation/Timing.cs

@@ -2,10 +2,8 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using System.Diagnostics;
 using System.Linq;
 using System.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
-using Avalonia.Data;
 using Avalonia.Threading;
 using Avalonia.Threading;
 
 
 namespace Avalonia.Animation
 namespace Avalonia.Animation

+ 1 - 2
src/Avalonia.Animation/Transition`1.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using Avalonia.Metadata;
 using System;
 using System;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 using Avalonia.Animation.Easings;
 using Avalonia.Animation.Easings;
@@ -65,4 +64,4 @@ namespace Avalonia.Animation
             return control.Bind(Property, transition, Data.BindingPriority.Animation);
             return control.Bind(Property, transition, Data.BindingPriority.Animation);
         }
         }
     }
     }
-}
+}

+ 0 - 2
src/Avalonia.Animation/Utils/DoubleUtils.cs

@@ -2,8 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 
 namespace Avalonia.Animation.Utils
 namespace Avalonia.Animation.Utils
 {
 {

+ 0 - 1
src/Avalonia.Base/AvaloniaLocator.cs

@@ -1,6 +1,5 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Reactive.Disposables;
 
 
 #pragma warning disable CS1591 // Enable me later
 #pragma warning disable CS1591 // Enable me later
 
 

+ 0 - 2
src/Avalonia.Base/AvaloniaObject.cs

@@ -5,12 +5,10 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Linq;
 using System.Linq;
-using System.Reactive.Disposables;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 using Avalonia.Data;
 using Avalonia.Data;
 using Avalonia.Diagnostics;
 using Avalonia.Diagnostics;
 using Avalonia.Logging;
 using Avalonia.Logging;
-using Avalonia.Reactive;
 using Avalonia.Threading;
 using Avalonia.Threading;
 using Avalonia.Utilities;
 using Avalonia.Utilities;
 
 

+ 2 - 2
src/Avalonia.Base/AvaloniaProperty.cs

@@ -231,7 +231,7 @@ namespace Avalonia
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Tests two <see cref="AvaloniaProperty"/>s for unequality.
+        /// Tests two <see cref="AvaloniaProperty"/>s for inequality.
         /// </summary>
         /// </summary>
         /// <param name="a">The first property.</param>
         /// <param name="a">The first property.</param>
         /// <param name="b">The second property.</param>
         /// <param name="b">The second property.</param>
@@ -558,4 +558,4 @@ namespace Avalonia
             public override string ToString() => "(unset)";
             public override string ToString() => "(unset)";
         }
         }
     }
     }
-}
+}

+ 1 - 2
src/Avalonia.Base/Collections/AvaloniaList.cs

@@ -8,7 +8,6 @@ using System.Collections.Specialized;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Linq;
 using System.Linq;
 using Avalonia.Diagnostics;
 using Avalonia.Diagnostics;
-using Avalonia.Platform;
 
 
 namespace Avalonia.Collections
 namespace Avalonia.Collections
 {
 {
@@ -551,4 +550,4 @@ namespace Avalonia.Collections
             NotifyCountChanged();
             NotifyCountChanged();
         }
         }
     }
     }
-}
+}

+ 1 - 1
src/Avalonia.Base/Collections/AvaloniaListConverter.cs

@@ -40,4 +40,4 @@ namespace Avalonia.Collections
             return result;
             return result;
         }
         }
     }
     }
-}
+}

+ 0 - 1
src/Avalonia.Base/Collections/AvaloniaListExtensions.cs

@@ -6,7 +6,6 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Collections.Specialized;
 using System.Collections.Specialized;
 using System.ComponentModel;
 using System.ComponentModel;
-using System.Linq;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
 
 
 namespace Avalonia.Collections
 namespace Avalonia.Collections

+ 2 - 2
src/Avalonia.Base/Collections/IAvaloniaList.cs

@@ -6,7 +6,7 @@ using System.Collections.Generic;
 namespace Avalonia.Collections
 namespace Avalonia.Collections
 {
 {
     /// <summary>
     /// <summary>
-    /// A notiftying list.
+    /// A notifying list.
     /// </summary>
     /// </summary>
     /// <typeparam name="T">The type of the items in the list.</typeparam>
     /// <typeparam name="T">The type of the items in the list.</typeparam>
     public interface IAvaloniaList<T> : IList<T>, IAvaloniaReadOnlyList<T>
     public interface IAvaloniaList<T> : IList<T>, IAvaloniaReadOnlyList<T>
@@ -64,4 +64,4 @@ namespace Avalonia.Collections
         /// <param name="count">The number of items to remove.</param>
         /// <param name="count">The number of items to remove.</param>
         void RemoveRange(int index, int count);
         void RemoveRange(int index, int count);
     }
     }
-}
+}

+ 2 - 2
src/Avalonia.Base/Collections/IAvaloniaReadOnlyList.cs

@@ -8,10 +8,10 @@ using System.ComponentModel;
 namespace Avalonia.Collections
 namespace Avalonia.Collections
 {
 {
     /// <summary>
     /// <summary>
-    /// A read-only notiftying list.
+    /// A read-only notifying list.
     /// </summary>
     /// </summary>
     /// <typeparam name="T">The type of the items in the list.</typeparam>
     /// <typeparam name="T">The type of the items in the list.</typeparam>
     public interface IAvaloniaReadOnlyList<out T> : IReadOnlyList<T>, INotifyCollectionChanged, INotifyPropertyChanged
     public interface IAvaloniaReadOnlyList<out T> : IReadOnlyList<T>, INotifyCollectionChanged, INotifyPropertyChanged
     {
     {
     }
     }
-}
+}

+ 2 - 2
src/Avalonia.Base/Collections/NotifyCollectionChangedExtensions.cs

@@ -25,7 +25,7 @@ namespace Avalonia.Collections
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Subcribes to the CollectionChanged event using a weak subscription.
+        /// Subscribes to the CollectionChanged event using a weak subscription.
         /// </summary>
         /// </summary>
         /// <param name="collection">The collection.</param>
         /// <param name="collection">The collection.</param>
         /// <param name="handler">
         /// <param name="handler">
@@ -44,7 +44,7 @@ namespace Avalonia.Collections
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Subcribes to the CollectionChanged event using a weak subscription.
+        /// Subscribes to the CollectionChanged event using a weak subscription.
         /// </summary>
         /// </summary>
         /// <param name="collection">The collection.</param>
         /// <param name="collection">The collection.</param>
         /// <param name="handler">
         /// <param name="handler">

+ 5 - 5
src/Avalonia.Base/Data/BindingChainException.cs

@@ -6,7 +6,7 @@ using System;
 namespace Avalonia.Data
 namespace Avalonia.Data
 {
 {
     /// <summary>
     /// <summary>
-    /// An exception returned through <see cref="BindingNotification"/> signalling that a
+    /// An exception returned through <see cref="BindingNotification"/> signaling that a
     /// requested binding expression could not be evaluated because of a null in one of the links
     /// requested binding expression could not be evaluated because of a null in one of the links
     /// of the binding chain.
     /// of the binding chain.
     /// </summary>
     /// </summary>
@@ -15,14 +15,14 @@ namespace Avalonia.Data
         private string _message;
         private string _message;
 
 
         /// <summary>
         /// <summary>
-        /// Initalizes a new instance of the <see cref="BindingChainException"/> class.
+        /// Initializes a new instance of the <see cref="BindingChainException"/> class.
         /// </summary>
         /// </summary>
         public BindingChainException()
         public BindingChainException()
         {
         {
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Initalizes a new instance of the <see cref="BindingChainException"/> class.
+        /// Initializes a new instance of the <see cref="BindingChainException"/> class.
         /// </summary>
         /// </summary>
         /// <param name="message">The error message.</param>
         /// <param name="message">The error message.</param>
         public BindingChainException(string message)
         public BindingChainException(string message)
@@ -31,7 +31,7 @@ namespace Avalonia.Data
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Initalizes a new instance of the <see cref="BindingChainException"/> class.
+        /// Initializes a new instance of the <see cref="BindingChainException"/> class.
         /// </summary>
         /// </summary>
         /// <param name="message">The error message.</param>
         /// <param name="message">The error message.</param>
         /// <param name="expression">The expression.</param>
         /// <param name="expression">The expression.</param>
@@ -51,7 +51,7 @@ namespace Avalonia.Data
         public string Expression { get; protected set; }
         public string Expression { get; protected set; }
 
 
         /// <summary>
         /// <summary>
-        /// Gets the point in the expression at which the error occured.
+        /// Gets the point in the expression at which the error occurred.
         /// </summary>
         /// </summary>
         public string ExpressionErrorPoint { get; protected set; }
         public string ExpressionErrorPoint { get; protected set; }
 
 

+ 0 - 1
src/Avalonia.Base/Data/BindingNotification.cs

@@ -2,7 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using Avalonia.Logging;
 
 
 namespace Avalonia.Data
 namespace Avalonia.Data
 {
 {

+ 1 - 1
src/Avalonia.Base/Data/BindingOperations.cs

@@ -20,7 +20,7 @@ namespace Avalonia.Data
         /// An optional anchor from which to locate required context. When binding to objects that
         /// An optional anchor from which to locate required context. When binding to objects that
         /// are not in the logical tree, certain types of binding need an anchor into the tree in 
         /// are not in the logical tree, certain types of binding need an anchor into the tree in 
         /// order to locate named controls or resources. The <paramref name="anchor"/> parameter 
         /// order to locate named controls or resources. The <paramref name="anchor"/> parameter 
-        /// can be used to provice this context.
+        /// can be used to provide this context.
         /// </param>
         /// </param>
         /// <returns>An <see cref="IDisposable"/> which can be used to cancel the binding.</returns>
         /// <returns>An <see cref="IDisposable"/> which can be used to cancel the binding.</returns>
         public static IDisposable Apply(
         public static IDisposable Apply(

+ 2 - 4
src/Avalonia.Base/Data/Converters/AlwaysEnabledDelegateCommand.cs

@@ -1,10 +1,8 @@
-using Avalonia.Utilities;
-using System;
-using System.Collections.Generic;
+using System;
 using System.Globalization;
 using System.Globalization;
 using System.Reflection;
 using System.Reflection;
-using System.Text;
 using System.Windows.Input;
 using System.Windows.Input;
+using Avalonia.Utilities;
 
 
 namespace Avalonia.Data.Converters
 namespace Avalonia.Data.Converters
 {
 {

+ 1 - 2
src/Avalonia.Base/Data/Converters/DefaultValueConverter.cs

@@ -3,9 +3,8 @@
 
 
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
-using Avalonia.Data;
-using Avalonia.Utilities;
 using System.Windows.Input;
 using System.Windows.Input;
+using Avalonia.Utilities;
 
 
 namespace Avalonia.Data.Converters
 namespace Avalonia.Data.Converters
 {
 {

+ 0 - 1
src/Avalonia.Base/Data/Converters/IValueConverter.cs

@@ -3,7 +3,6 @@
 
 
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Converters
 namespace Avalonia.Data.Converters
 {
 {

+ 0 - 3
src/Avalonia.Base/Data/Converters/StringConverters.cs

@@ -1,9 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using System;
-using System.Globalization;
-using Avalonia.Utilities;
 
 
 namespace Avalonia.Data.Converters
 namespace Avalonia.Data.Converters
 {
 {

+ 0 - 2
src/Avalonia.Base/Data/Core/AvaloniaPropertyAccessorNode.cs

@@ -1,7 +1,5 @@
 using System;
 using System;
-using System.Collections.Generic;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
-using System.Text;
 using Avalonia.Reactive;
 using Avalonia.Reactive;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core

+ 0 - 3
src/Avalonia.Base/Data/Core/EmptyExpressionNode.cs

@@ -1,9 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using System;
-using System.Reactive.Linq;
-
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core
 {
 {
     public class EmptyExpressionNode : ExpressionNode
     public class EmptyExpressionNode : ExpressionNode

+ 0 - 1
src/Avalonia.Base/Data/Core/ExpressionObserver.cs

@@ -6,7 +6,6 @@ using System.Collections.Generic;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
 using System.Reactive;
 using System.Reactive;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
-using Avalonia.Data;
 using Avalonia.Data.Core.Parsers;
 using Avalonia.Data.Core.Parsers;
 using Avalonia.Data.Core.Plugins;
 using Avalonia.Data.Core.Plugins;
 using Avalonia.Reactive;
 using Avalonia.Reactive;

+ 0 - 1
src/Avalonia.Base/Data/Core/ExpressionParseException.cs

@@ -2,7 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using Avalonia.Data.Core.Parsers;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core
 {
 {

+ 1 - 5
src/Avalonia.Base/Data/Core/ITransformNode.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Avalonia.Data.Core
+namespace Avalonia.Data.Core
 {
 {
     interface ITransformNode
     interface ITransformNode
     {
     {

+ 0 - 2
src/Avalonia.Base/Data/Core/IndexerExpressionNode.cs

@@ -3,8 +3,6 @@ using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
 using System.Reflection;
 using System.Reflection;
-using System.Text;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core
 {
 {

+ 0 - 4
src/Avalonia.Base/Data/Core/IndexerNodeBase.cs

@@ -3,12 +3,8 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Collections.Specialized;
 using System.Collections.Specialized;
 using System.ComponentModel;
 using System.ComponentModel;
-using System.Globalization;
 using System.Linq;
 using System.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
-using System.Reflection;
-using System.Text;
-using Avalonia.Data;
 using Avalonia.Utilities;
 using Avalonia.Utilities;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core

+ 0 - 1
src/Avalonia.Base/Data/Core/LogicalNotNode.cs

@@ -3,7 +3,6 @@
 
 
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core
 {
 {

+ 1 - 4
src/Avalonia.Base/Data/Core/Parsers/ExpressionTreeParser.cs

@@ -1,8 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
+using System.Linq;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
-using System.Text;
 
 
 namespace Avalonia.Data.Core.Parsers
 namespace Avalonia.Data.Core.Parsers
 {
 {

+ 0 - 2
src/Avalonia.Base/Data/Core/Parsers/ExpressionVisitorNodeBuilder.cs

@@ -1,10 +1,8 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Diagnostics;
 using System.Linq;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
 using System.Reflection;
 using System.Reflection;
-using System.Text;
 
 
 namespace Avalonia.Data.Core.Parsers
 namespace Avalonia.Data.Core.Parsers
 {
 {

+ 0 - 2
src/Avalonia.Base/Data/Core/Plugins/AvaloniaPropertyAccessorPlugin.cs

@@ -2,9 +2,7 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using System.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {

+ 1 - 2
src/Avalonia.Base/Data/Core/Plugins/DataAnnotationsValidationPlugin.cs

@@ -6,7 +6,6 @@ using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Linq;
 using System.Reflection;
 using System.Reflection;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {
@@ -31,7 +30,7 @@ namespace Avalonia.Data.Core.Plugins
             return new Accessor(reference, name, inner);
             return new Accessor(reference, name, inner);
         }
         }
 
 
-        private class Accessor : DataValidatiorBase
+        private class Accessor : DataValidationBase
         {
         {
             private ValidationContext _context;
             private ValidationContext _context;
 
 

+ 4 - 5
src/Avalonia.Base/Data/Core/Plugins/DataValidatiorBase.cs → src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs

@@ -2,7 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {
@@ -15,15 +14,15 @@ namespace Avalonia.Data.Core.Plugins
     /// and convert any values received from the inner property accessor into
     /// and convert any values received from the inner property accessor into
     /// <see cref="BindingNotification"/>s.
     /// <see cref="BindingNotification"/>s.
     /// </remarks>
     /// </remarks>
-    public abstract class DataValidatiorBase : PropertyAccessorBase, IObserver<object>
+    public abstract class DataValidationBase : PropertyAccessorBase, IObserver<object>
     {
     {
         private readonly IPropertyAccessor _inner;
         private readonly IPropertyAccessor _inner;
 
 
         /// <summary>
         /// <summary>
-        /// Initializes a new instance of the <see cref="DataValidatiorBase"/> class.
+        /// Initializes a new instance of the <see cref="DataValidationBase"/> class.
         /// </summary>
         /// </summary>
         /// <param name="inner">The inner property accessor.</param>
         /// <param name="inner">The inner property accessor.</param>
-        protected DataValidatiorBase(IPropertyAccessor inner)
+        protected DataValidationBase(IPropertyAccessor inner)
         {
         {
             _inner = inner;
             _inner = inner;
         }
         }
@@ -77,4 +76,4 @@ namespace Avalonia.Data.Core.Plugins
             PublishValue(notification);
             PublishValue(notification);
         }
         }
     }
     }
-}
+}

+ 1 - 1
src/Avalonia.Base/Data/Core/Plugins/ExceptionValidationPlugin.cs

@@ -20,7 +20,7 @@ namespace Avalonia.Data.Core.Plugins
             return new Validator(reference, name, inner);
             return new Validator(reference, name, inner);
         }
         }
 
 
-        private class Validator : DataValidatiorBase
+        private class Validator : DataValidationBase
         {
         {
             public Validator(WeakReference reference, string name, IPropertyAccessor inner)
             public Validator(WeakReference reference, string name, IPropertyAccessor inner)
                 : base(inner)
                 : base(inner)

+ 0 - 1
src/Avalonia.Base/Data/Core/Plugins/IDataValidationPlugin.cs

@@ -2,7 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {

+ 1 - 1
src/Avalonia.Base/Data/Core/Plugins/IndeiValidationPlugin.cs

@@ -23,7 +23,7 @@ namespace Avalonia.Data.Core.Plugins
             return new Validator(reference, name, accessor);
             return new Validator(reference, name, accessor);
         }
         }
 
 
-        private class Validator : DataValidatiorBase, IWeakSubscriber<DataErrorsChangedEventArgs>
+        private class Validator : DataValidationBase, IWeakSubscriber<DataErrorsChangedEventArgs>
         {
         {
             WeakReference _reference;
             WeakReference _reference;
             string _name;
             string _name;

+ 0 - 2
src/Avalonia.Base/Data/Core/Plugins/InpcPropertyAccessorPlugin.cs

@@ -6,8 +6,6 @@ using System.ComponentModel;
 using System.Linq;
 using System.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 using System.Reflection;
 using System.Reflection;
-using Avalonia.Data;
-using Avalonia.Logging;
 using Avalonia.Utilities;
 using Avalonia.Utilities;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins

+ 1 - 4
src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs

@@ -1,9 +1,6 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Text;
-using Avalonia.Data;
-using System.Reflection;
 using System.Linq;
 using System.Linq;
+using System.Reflection;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {

+ 0 - 2
src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs

@@ -2,12 +2,10 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using System.Reactive.Concurrency;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
 using System.Reflection;
 using System.Reflection;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
-using Avalonia.Data;
 
 
 namespace Avalonia.Data.Core.Plugins
 namespace Avalonia.Data.Core.Plugins
 {
 {

+ 1 - 6
src/Avalonia.Base/Data/Core/SettableNode.cs

@@ -1,9 +1,4 @@
-using Avalonia.Data;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System;
 
 
 namespace Avalonia.Data.Core
 namespace Avalonia.Data.Core
 {
 {

+ 0 - 2
src/Avalonia.Base/Data/Core/StreamBindingExtensions.cs

@@ -1,6 +1,4 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
 namespace Avalonia
 namespace Avalonia

+ 1 - 1
src/Avalonia.Base/Data/IBinding.cs

@@ -17,7 +17,7 @@ namespace Avalonia.Data
         /// An optional anchor from which to locate required context. When binding to objects that
         /// An optional anchor from which to locate required context. When binding to objects that
         /// are not in the logical tree, certain types of binding need an anchor into the tree in 
         /// are not in the logical tree, certain types of binding need an anchor into the tree in 
         /// order to locate named controls or resources. The <paramref name="anchor"/> parameter 
         /// order to locate named controls or resources. The <paramref name="anchor"/> parameter 
-        /// can be used to provice this context.
+        /// can be used to provide this context.
         /// </param>
         /// </param>
         /// <param name="enableDataValidation">Whether data validation should be enabled.</param>
         /// <param name="enableDataValidation">Whether data validation should be enabled.</param>
         /// <returns>
         /// <returns>

+ 1 - 1
src/Avalonia.Base/Logging/Logger.cs

@@ -11,7 +11,7 @@ namespace Avalonia.Logging
     public static class Logger
     public static class Logger
     {
     {
         /// <summary>
         /// <summary>
-        /// Gets or sets the application-defined sink that recieves the messages.
+        /// Gets or sets the application-defined sink that receives the messages.
         /// </summary>
         /// </summary>
         public static ILogSink Sink { get; set; }
         public static ILogSink Sink { get; set; }
 
 

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

@@ -1,9 +1,5 @@
 using System;
 using System;
-using System.Collections.Generic;
-using System.Linq;
 using System.Reflection;
 using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
 
 
 namespace Avalonia.Platform
 namespace Avalonia.Platform
 {
 {

+ 0 - 1
src/Avalonia.Base/PriorityLevel.cs

@@ -5,7 +5,6 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
 using Avalonia.Data;
 using Avalonia.Data;
-using Avalonia.Logging;
 
 
 namespace Avalonia
 namespace Avalonia
 {
 {

+ 3 - 3
src/Avalonia.Base/PriorityValue.cs

@@ -12,12 +12,12 @@ using Avalonia.Utilities;
 namespace Avalonia
 namespace Avalonia
 {
 {
     /// <summary>
     /// <summary>
-    /// Maintains a list of prioritised bindings together with a current value.
+    /// Maintains a list of prioritized bindings together with a current value.
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
     /// Bindings, in the form of <see cref="IObservable{Object}"/>s are added to the object using
     /// Bindings, in the form of <see cref="IObservable{Object}"/>s are added to the object using
     /// the <see cref="Add"/> method. With the observable is passed a priority, where lower values
     /// the <see cref="Add"/> method. With the observable is passed a priority, where lower values
-    /// represent higher priorites. The current <see cref="Value"/> is selected from the highest
+    /// represent higher priorities. The current <see cref="Value"/> is selected from the highest
     /// priority binding that doesn't return <see cref="AvaloniaProperty.UnsetValue"/>. Where there
     /// priority binding that doesn't return <see cref="AvaloniaProperty.UnsetValue"/>. Where there
     /// are multiple bindings registered with the same priority, the most recently added binding
     /// are multiple bindings registered with the same priority, the most recently added binding
     /// has a higher priority. Each time the value changes, the 
     /// has a higher priority. Each time the value changes, the 
@@ -236,7 +236,7 @@ namespace Avalonia
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Updates the current <see cref="Value"/> and notifies all subscibers.
+        /// Updates the current <see cref="Value"/> and notifies all subscribers.
         /// </summary>
         /// </summary>
         /// <param name="value">The value to set.</param>
         /// <param name="value">The value to set.</param>
         /// <param name="priority">The priority level that the value came from.</param>
         /// <param name="priority">The priority level that the value came from.</param>

+ 0 - 1
src/Avalonia.Base/PropertyMetadata.cs

@@ -1,7 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using System;
 using Avalonia.Data;
 using Avalonia.Data;
 
 
 namespace Avalonia
 namespace Avalonia

+ 1 - 6
src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs

@@ -1,11 +1,6 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Threading;
 using System.Threading;
 
 
 namespace Avalonia.Threading
 namespace Avalonia.Threading
@@ -48,4 +43,4 @@ namespace Avalonia.Threading
                 Dispatcher.UIThread.InvokeAsync(() => d(state), DispatcherPriority.Send).Wait();
                 Dispatcher.UIThread.InvokeAsync(() => d(state), DispatcherPriority.Send).Wait();
         }
         }
     }
     }
-}
+}

+ 14 - 0
src/Avalonia.Base/Threading/Dispatcher.cs

@@ -92,6 +92,20 @@ namespace Avalonia.Threading
             return _jobRunner.InvokeAsync(function, priority);
             return _jobRunner.InvokeAsync(function, priority);
         }
         }
 
 
+        /// <inheritdoc/>
+        public Task InvokeAsync(Func<Task> function, DispatcherPriority priority = DispatcherPriority.Normal)
+        {
+            Contract.Requires<ArgumentNullException>(function != null);
+            return _jobRunner.InvokeAsync(function, priority).Unwrap();
+        }
+
+        /// <inheritdoc/>
+        public Task<TResult> InvokeAsync<TResult>(Func<Task<TResult>> function, DispatcherPriority priority = DispatcherPriority.Normal)
+        {
+            Contract.Requires<ArgumentNullException>(function != null);
+            return _jobRunner.InvokeAsync(function, priority).Unwrap();
+        }
+
         /// <inheritdoc/>
         /// <inheritdoc/>
         public void Post(Action action, DispatcherPriority priority = DispatcherPriority.Normal)
         public void Post(Action action, DispatcherPriority priority = DispatcherPriority.Normal)
         {
         {

+ 18 - 0
src/Avalonia.Base/Threading/IDispatcher.cs

@@ -40,5 +40,23 @@ namespace Avalonia.Threading
         /// <param name="function">The method.</param>
         /// <param name="function">The method.</param>
         /// <param name="priority">The priority with which to invoke the method.</param>
         /// <param name="priority">The priority with which to invoke the method.</param>
         Task<TResult> InvokeAsync<TResult>(Func<TResult> function, DispatcherPriority priority = DispatcherPriority.Normal);
         Task<TResult> InvokeAsync<TResult>(Func<TResult> function, DispatcherPriority priority = DispatcherPriority.Normal);
+
+        /// <summary>
+        /// Queues the specified work to run on the dispatcher thread and returns a proxy for the
+        /// task returned by <paramref name="function"/>.
+        /// </summary>
+        /// <param name="function">The work to execute asynchronously.</param>
+        /// <param name="priority">The priority with which to invoke the method.</param>
+        /// <returns>A task that represents a proxy for the task returned by <paramref name="function"/>.</returns>
+        Task InvokeAsync(Func<Task> function, DispatcherPriority priority = DispatcherPriority.Normal);
+
+        /// <summary>
+        /// Queues the specified work to run on the dispatcher thread and returns a proxy for the
+        /// task returned by <paramref name="function"/>.
+        /// </summary>
+        /// <param name="function">The work to execute asynchronously.</param>
+        /// <param name="priority">The priority with which to invoke the method.</param>
+        /// <returns>A task that represents a proxy for the task returned by <paramref name="function"/>.</returns>
+        Task<TResult> InvokeAsync<TResult>(Func<Task<TResult>> function, DispatcherPriority priority = DispatcherPriority.Normal);
     }
     }
 }
 }

+ 0 - 2
src/Avalonia.Base/Utilities/CharacterReader.cs

@@ -2,8 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 
 using System;
 using System;
-using System.Globalization;
-using System.Text;
 
 
 namespace Avalonia.Utilities
 namespace Avalonia.Utilities
 {
 {

+ 0 - 3
src/Avalonia.Base/Utilities/DeferredSetter.cs

@@ -1,8 +1,5 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Reactive.Disposables;
-using System.Runtime.CompilerServices;
-using System.Text;
 
 
 namespace Avalonia.Utilities
 namespace Avalonia.Utilities
 {
 {

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.