From c37830989437553b43a183288680db1cbb797721 Mon Sep 17 00:00:00 2001 From: ili Date: Thu, 8 Apr 2021 18:35:11 +0500 Subject: [PATCH] AndroidTestApplication all content type text boxes Also do not throw when input not configured --- .../InvalidationAwareSurfaceView.cs | 2 +- .../Platform/SkiaPlatform/TopLevelImpl.cs | 6 ++--- .../MainActivity.cs | 22 ++++++++++++++++++- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs index 4df7befd29..34784612f1 100644 --- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs +++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs @@ -13,7 +13,7 @@ namespace Avalonia.Android bool _invalidateQueued; readonly object _lock = new object(); private readonly Handler _handler; - + public InvalidationAwareSurfaceView(Context context) : base(context) { diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs index 0b6dcba1ef..60b772a183 100644 --- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs +++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs @@ -197,10 +197,8 @@ namespace Avalonia.Android.Platform.SkiaPlatform public sealed override IInputConnection OnCreateInputConnection(EditorInfo outAttrs) { - if (_initEditorInfo == null) - throw new InvalidOperationException("Call IInitEditorInfo.InitEditorInfo first"); - - _initEditorInfo(outAttrs); + if (_initEditorInfo != null) + _initEditorInfo(outAttrs); return base.OnCreateInputConnection(outAttrs); } diff --git a/src/Android/Avalonia.AndroidTestApplication/MainActivity.cs b/src/Android/Avalonia.AndroidTestApplication/MainActivity.cs index 121acb6351..e139185be6 100644 --- a/src/Android/Avalonia.AndroidTestApplication/MainActivity.cs +++ b/src/Android/Avalonia.AndroidTestApplication/MainActivity.cs @@ -72,13 +72,33 @@ namespace Avalonia.AndroidTestApplication Height = 40, Background = Brushes.LightGreen, Foreground = Brushes.Black - } + }, + CreateTextBox(Input.TextInput.TextInputContentType.Normal), + CreateTextBox(Input.TextInput.TextInputContentType.Password), + CreateTextBox(Input.TextInput.TextInputContentType.Email), + CreateTextBox(Input.TextInput.TextInputContentType.Url), + CreateTextBox(Input.TextInput.TextInputContentType.Phone), + CreateTextBox(Input.TextInput.TextInputContentType.Number), } } }; return window; } + + private static TextBox CreateTextBox(Input.TextInput.TextInputContentType contentType) + { + var textBox = new TextBox() + { + Margin = new Thickness(20, 10), + Watermark = contentType.ToString(), + BorderThickness = new Thickness(3), + FontSize = 20 + }; + textBox.TextInputOptionsQuery += (s, e) => { e.ContentType = contentType; }; + + return textBox; + } } }