From 672286f492836956a9244109374ed49755cdf935 Mon Sep 17 00:00:00 2001 From: "alexander.marek" Date: Tue, 6 Nov 2018 18:31:11 +0100 Subject: [PATCH 1/4] #37 - Gracefully disable effects when sdk level < 21 --- .../AddCommandPlatformEffect.cs | 11 +++++++---- .../AddDatePickerPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/AddNumberPickerPlatform.cs | 11 +++++------ AiForms.Effects.Droid/AddTextPlatformEffect.cs | 11 +++++------ .../AddTimePickerPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/AddTouchPlatformEffect.cs | 8 ++------ AiForms.Effects.Droid/AiEffectBase.cs | 16 ++++++++++++++++ .../AlterColorPlatformEffect.cs | 11 +++++------ .../AlterLineHeightPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/BorderPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/FeedbackPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/FloatingPlatformEffect.cs | 3 +++ .../PlaceholderPlatformEffect.cs | 11 +++++------ AiForms.Effects.Droid/SizeToFitPlatformEffect.cs | 12 ++++++------ .../ToFlatButtonPlatformEffect.cs | 11 +++++------ 15 files changed, 84 insertions(+), 76 deletions(-) diff --git a/AiForms.Effects.Droid/AddCommandPlatformEffect.cs b/AiForms.Effects.Droid/AddCommandPlatformEffect.cs index 9b38f8a..086f03c 100644 --- a/AiForms.Effects.Droid/AddCommandPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddCommandPlatformEffect.cs @@ -39,9 +39,9 @@ public class AddCommandPlatformEffect : FeedbackPlatformEffect private GestureDetector _gestureDetector; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); + base.OnAttachedOverride(); _view = Control ?? Container; @@ -66,7 +66,7 @@ protected override void OnAttached() _view.Touch += _view_Touch; } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _view.Touch -= _view_Touch; @@ -90,13 +90,16 @@ protected override void OnDetached() _view = null; - base.OnDetached(); + base.OnDetachedOverride(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/AddDatePickerPlatformEffect.cs b/AiForms.Effects.Droid/AddDatePickerPlatformEffect.cs index d86c261..df38e29 100644 --- a/AiForms.Effects.Droid/AddDatePickerPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddDatePickerPlatformEffect.cs @@ -16,10 +16,8 @@ public class AddDatePickerPlatformEffect : AiEffectBase DatePickerDialog _dialog; ICommand _command; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Control ?? Container; _view.Touch += _view_Touch; @@ -27,7 +25,7 @@ protected override void OnAttached() UpdateCommand(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { var renderer = Container as IVisualElementRenderer; if (!IsDisposed) { @@ -41,14 +39,15 @@ protected override void OnDetached() _view = null; _command = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/AddNumberPickerPlatform.cs b/AiForms.Effects.Droid/AddNumberPickerPlatform.cs index d6ff5e4..9ed10bd 100644 --- a/AiForms.Effects.Droid/AddNumberPickerPlatform.cs +++ b/AiForms.Effects.Droid/AddNumberPickerPlatform.cs @@ -21,10 +21,8 @@ public class AddNumberPickerPlatform : AiEffectBase private int _max; private int _number; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Control ?? Container; _view.Touch += _view_Touch; @@ -40,7 +38,7 @@ void _view_Touch(object sender, Android.Views.View.TouchEventArgs e) } } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _view.Touch -= _view_Touch; @@ -53,14 +51,15 @@ protected override void OnDetached() _view = null; _command = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/AddTextPlatformEffect.cs b/AiForms.Effects.Droid/AddTextPlatformEffect.cs index dc0921e..b185950 100644 --- a/AiForms.Effects.Droid/AddTextPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddTextPlatformEffect.cs @@ -19,10 +19,8 @@ public class AddTextPlatformEffect : AiEffectBase private ViewGroup _container; private FastRendererOnLayoutChangeListener _fastListener; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _container = Container; _textView = new TextView(_context); @@ -50,7 +48,7 @@ protected override void OnAttached() UpdateLayout(_textView, Element, _container); } - protected override void OnDetached() + protected override void OnDetachedOverride() { System.Diagnostics.Debug.WriteLine(Element.GetType().FullName); @@ -74,14 +72,15 @@ protected override void OnDetached() _fastListener?.Dispose(); _fastListener = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) { base.OnElementPropertyChanged(args); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/AddTimePickerPlatformEffect.cs b/AiForms.Effects.Droid/AddTimePickerPlatformEffect.cs index 252d054..f949ff1 100644 --- a/AiForms.Effects.Droid/AddTimePickerPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddTimePickerPlatformEffect.cs @@ -18,10 +18,8 @@ public class AddTimePickerPlatformEffect : AiEffectBase ICommand _command; string _title; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Control ?? Container; _view.Touch += _view_Touch; @@ -30,7 +28,7 @@ protected override void OnAttached() UpdateCommand(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _view.Touch -= _view_Touch; @@ -43,14 +41,15 @@ protected override void OnDetached() _view = null; _command = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/AddTouchPlatformEffect.cs b/AiForms.Effects.Droid/AddTouchPlatformEffect.cs index 49f75be..9e2e254 100644 --- a/AiForms.Effects.Droid/AddTouchPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddTouchPlatformEffect.cs @@ -16,10 +16,8 @@ public class AddTouchPlatformEffect:AiEffectBase TouchRecognizer _recognizer; Context _context; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _viewRef = new WeakReference(Control ?? Container); @@ -63,7 +61,7 @@ void _view_Touch(object sender, Android.Views.View.TouchEventArgs e) } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { @@ -78,8 +76,6 @@ protected override void OnDetached() _recognizer = null; _viewRef = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } } diff --git a/AiForms.Effects.Droid/AiEffectBase.cs b/AiForms.Effects.Droid/AiEffectBase.cs index 5fcb669..4e3c6af 100644 --- a/AiForms.Effects.Droid/AiEffectBase.cs +++ b/AiForms.Effects.Droid/AiEffectBase.cs @@ -44,8 +44,13 @@ protected bool IsNullOrDisposed{ } } + protected bool IsSupportedByApi => Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop; + protected override void OnAttached() { + if (!IsSupportedByApi) + return; + var visual = Element as VisualElement; var page = visual.Navigation.NavigationStack.LastOrDefault(); if(page == null) @@ -65,16 +70,27 @@ protected override void OnAttached() { SetIsRegistered(page, true); } + + OnAttachedOverride(); } + protected virtual void OnAttachedOverride() { } + protected override void OnDetached() { + if (!IsSupportedByApi) + return; + + OnDetachedOverride(); + System.Diagnostics.Debug.WriteLine($"Detached {GetType().Name} from {Element.GetType().FullName}"); Element.BindingContextChanged -= BindingContextChanged; _renderer = null; } + protected virtual void OnDetachedOverride() { } + // whether Element is FastRenderer.(Exept Button) protected bool IsFastRenderer{ diff --git a/AiForms.Effects.Droid/AlterColorPlatformEffect.cs b/AiForms.Effects.Droid/AlterColorPlatformEffect.cs index ab3dbf9..1585c0a 100644 --- a/AiForms.Effects.Droid/AlterColorPlatformEffect.cs +++ b/AiForms.Effects.Droid/AlterColorPlatformEffect.cs @@ -12,10 +12,8 @@ public class AlterColorPlatformEffect : AiEffectBase { IAiEffectDroid _effect; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - if (Element is Slider) { _effect = new AlterColorSlider(Control as SeekBar, Element); } @@ -36,7 +34,7 @@ protected override void OnAttached() _effect?.Update(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _effect?.OnDetachedIfNotDisposed(); @@ -45,14 +43,15 @@ protected override void OnDetached() _effect?.OnDetached(); _effect = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) { base.OnElementPropertyChanged(args); + if (!IsSupportedByApi) + return; + if (IsNullOrDisposed) { return; } diff --git a/AiForms.Effects.Droid/AlterLineHeightPlatformEffect.cs b/AiForms.Effects.Droid/AlterLineHeightPlatformEffect.cs index 993f2fb..ab3136b 100644 --- a/AiForms.Effects.Droid/AlterLineHeightPlatformEffect.cs +++ b/AiForms.Effects.Droid/AlterLineHeightPlatformEffect.cs @@ -10,10 +10,8 @@ public class AlterLineHeightPlatformEffect : AiEffectBase { private IAiEffectDroid _effect; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - if (Element is Label) { _effect = new LineHeightForTextView(Container, Control, Element); } @@ -25,7 +23,7 @@ protected override void OnAttached() } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _effect.OnDetachedIfNotDisposed(); @@ -34,8 +32,6 @@ protected override void OnDetached() _effect?.OnDetached(); _effect = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } @@ -43,6 +39,9 @@ protected override void OnElementPropertyChanged(System.ComponentModel.PropertyC { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/BorderPlatformEffect.cs b/AiForms.Effects.Droid/BorderPlatformEffect.cs index da2fcb8..794286c 100644 --- a/AiForms.Effects.Droid/BorderPlatformEffect.cs +++ b/AiForms.Effects.Droid/BorderPlatformEffect.cs @@ -18,10 +18,8 @@ public class BorderPlatformEffect : AiEffectBase float _radius; Drawable _orgDrawable; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Container ?? Control; _border = new GradientDrawable(); @@ -33,7 +31,7 @@ protected override void OnAttached() UpdateBorder(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { // Check disposed _view.Background = _orgDrawable; @@ -47,14 +45,15 @@ protected override void OnDetached() _border = null; _view = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) { base.OnElementPropertyChanged(args); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/FeedbackPlatformEffect.cs b/AiForms.Effects.Droid/FeedbackPlatformEffect.cs index c8de888..1506659 100644 --- a/AiForms.Effects.Droid/FeedbackPlatformEffect.cs +++ b/AiForms.Effects.Droid/FeedbackPlatformEffect.cs @@ -41,10 +41,8 @@ public class FeedbackPlatformEffect:AiEffectBase private AudioManager _audioManager; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Control ?? Container; _isTapTargetSoundEffect = TapSoundEffectElementType.Any(x => x == Element.GetType()); @@ -70,7 +68,7 @@ protected override void OnAttached() UpdateIsEnabled(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { @@ -97,14 +95,15 @@ protected override void OnDetached() _audioManager = null; _view = null; - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; diff --git a/AiForms.Effects.Droid/FloatingPlatformEffect.cs b/AiForms.Effects.Droid/FloatingPlatformEffect.cs index 5274b57..3948a2a 100644 --- a/AiForms.Effects.Droid/FloatingPlatformEffect.cs +++ b/AiForms.Effects.Droid/FloatingPlatformEffect.cs @@ -15,6 +15,9 @@ public class FloatingPlatformEffect : AiEffectBase { protected override void OnAttached() { + if (!IsSupportedByApi) + return; + if (!(Element is XF.Page)) return; var layout = Floating.GetContent(Element); diff --git a/AiForms.Effects.Droid/PlaceholderPlatformEffect.cs b/AiForms.Effects.Droid/PlaceholderPlatformEffect.cs index 4b94c86..0fd9d0a 100644 --- a/AiForms.Effects.Droid/PlaceholderPlatformEffect.cs +++ b/AiForms.Effects.Droid/PlaceholderPlatformEffect.cs @@ -13,17 +13,15 @@ public class PlaceholderPlatformEffect : AiEffectBase { EditText _editText; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _editText = Control as EditText; UpdateText(); UpdateColor(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { _editText.Hint = string.Empty; @@ -31,14 +29,15 @@ protected override void OnDetached() } _editText = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + if (!IsSupportedByApi) + return; + if (IsDisposed) { return; } diff --git a/AiForms.Effects.Droid/SizeToFitPlatformEffect.cs b/AiForms.Effects.Droid/SizeToFitPlatformEffect.cs index cb999e7..b9ccfa8 100644 --- a/AiForms.Effects.Droid/SizeToFitPlatformEffect.cs +++ b/AiForms.Effects.Droid/SizeToFitPlatformEffect.cs @@ -17,17 +17,15 @@ public class SizeToFitPlatformEffect : AiEffectBase FormsTextView _view; float _orgFontSize; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - _view = Control as FormsTextView; _orgFontSize = _view.TextSize; UpdateFitFont(); } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed){ _view.SetTextSize(ComplexUnitType.Px, _orgFontSize); @@ -35,13 +33,15 @@ protected override void OnDetached() } _view = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) { base.OnElementPropertyChanged(args); + + if (!IsSupportedByApi) + return; + if (args.PropertyName == VisualElement.HeightProperty.PropertyName || args.PropertyName == VisualElement.WidthProperty.PropertyName || args.PropertyName == Label.TextProperty.PropertyName || diff --git a/AiForms.Effects.Droid/ToFlatButtonPlatformEffect.cs b/AiForms.Effects.Droid/ToFlatButtonPlatformEffect.cs index d4f4833..773ce02 100644 --- a/AiForms.Effects.Droid/ToFlatButtonPlatformEffect.cs +++ b/AiForms.Effects.Droid/ToFlatButtonPlatformEffect.cs @@ -25,10 +25,8 @@ public class ToFlatButtonPlatformEffect : AiEffectBase private Drawable OrgBackground; private StateListAnimator OrgStateListAnimator; - protected override void OnAttached() + protected override void OnAttachedOverride() { - base.OnAttached(); - NativeButton = Control as AppCompatButton; if (NativeButton == null) return; @@ -52,7 +50,7 @@ protected override void OnAttached() NativeButton.Background = Ripple; } - protected override void OnDetached() + protected override void OnDetachedOverride() { if (!IsDisposed) { NativeButton.Background = OrgBackground; @@ -74,13 +72,14 @@ protected override void OnDetached() Ripple = null; Inset = null; System.Diagnostics.Debug.WriteLine($"{this.GetType().FullName} Detached completely"); - - base.OnDetached(); } protected override void OnElementPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(e); + + if (!IsSupportedByApi) + return; if (IsDisposed) { return; From d3db2b7f1adab14046e2ea1122b4aaec282081f7 Mon Sep 17 00:00:00 2001 From: kamu Date: Mon, 12 Nov 2018 17:02:58 +0900 Subject: [PATCH 2/4] Feedback fix ViewCell null exception --- AiForms.Effects.Droid/AiEffectBase.cs | 1 + .../AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AiForms.Effects.Droid/AiEffectBase.cs b/AiForms.Effects.Droid/AiEffectBase.cs index 4e3c6af..6cb50fd 100644 --- a/AiForms.Effects.Droid/AiEffectBase.cs +++ b/AiForms.Effects.Droid/AiEffectBase.cs @@ -60,6 +60,7 @@ protected override void OnAttached() // In case the element in DataTemplate, NavigationProxycan't be got. // Instead of it, the page dismissal is judged by whether the BindingContext is null. Element.BindingContextChanged += BindingContextChanged; + OnAttachedOverride(); return; } } diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj index 79bf2a9..0f7420a 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj @@ -28,9 +28,8 @@ DEBUG; prompt 4 - None - arm64-v8a;armeabi;armeabi-v7a;x86 - 4G + x86 + 3G true From 90a51b50cbeb267cd5301e6f68d48ad2753d3583 Mon Sep 17 00:00:00 2001 From: kamusoft Date: Fri, 12 Apr 2019 20:15:38 +0900 Subject: [PATCH 3/4] Some bug fixes / updated XF --- .../AddTouchPlatformEffect.cs | 8 - .../AiForms.Effects.Droid.csproj | 176 ++++++++++++----- .../FeedbackPlatformEffect.cs | 4 +- AiForms.Effects.Droid/packages.config | 60 ++++-- .../AddCommandPlatformEffect.cs | 14 ++ .../AiForms.Effects.iOS.csproj | 12 +- AiForms.Effects.iOS/packages.config | 2 +- AiForms.Effects/AiForms.Effects.csproj | 4 +- README-ja.md | 77 ++++---- README.md | 77 ++++---- .../AiEffects.TestApp.Droid.csproj | 178 +++++++++++++----- .../Properties/AndroidManifest.xml | 2 +- .../AiEffects.TestApp.Droid/packages.config | 62 +++--- .../AiEffects.TestApp.iOS.csproj | 17 +- .../AiEffects.TestApp.iOS/packages.config | 4 +- .../AiEffects.TestApp.csproj | 4 +- .../Views/AddCommandPage.xaml | 10 +- .../AiEffects.TestApp/Views/AddTouchPage.xaml | 18 ++ 18 files changed, 479 insertions(+), 250 deletions(-) diff --git a/AiForms.Effects.Droid/AddTouchPlatformEffect.cs b/AiForms.Effects.Droid/AddTouchPlatformEffect.cs index 9e2e254..e8ba9b0 100644 --- a/AiForms.Effects.Droid/AddTouchPlatformEffect.cs +++ b/AiForms.Effects.Droid/AddTouchPlatformEffect.cs @@ -20,14 +20,6 @@ protected override void OnAttachedOverride() { _viewRef = new WeakReference(Control ?? Container); - - if (Control is Android.Widget.ListView || Control is Android.Widget.ScrollView) - { - // Except ListView and ScrollView because of Raising Exception. - Device.BeginInvokeOnMainThread(() => AddTouch.SetOn(Element, false)); - return; - } - _recognizer = AddTouch.GetRecognizer(Element); if(_viewRef.TryGetTarget(out var view)){ diff --git a/AiForms.Effects.Droid/AiForms.Effects.Droid.csproj b/AiForms.Effects.Droid/AiForms.Effects.Droid.csproj index 7a8f8f8..21c4882 100644 --- a/AiForms.Effects.Droid/AiForms.Effects.Droid.csproj +++ b/AiForms.Effects.Droid/AiForms.Effects.Droid.csproj @@ -1,6 +1,6 @@ - + Debug AnyCPU @@ -14,9 +14,8 @@ Resource Resources Assets - true - 0.0.5-pre + 1.1.2 true @@ -47,76 +46,137 @@ - ..\packages\Xamarin.Android.Support.Annotations.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Annotations.dll + ..\packages\Xamarin.Android.Support.Annotations.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Annotations.dll - ..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\lib\MonoAndroid80\Xamarin.Android.Arch.Core.Common.dll + ..\packages\Xamarin.Android.Arch.Core.Common.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Core.Common.dll - ..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.3\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.dll + ..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.Common.dll - ..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.3\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.dll + ..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.Runtime.dll - ..\packages\Xamarin.Android.Support.Compat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Compat.dll + ..\packages\Xamarin.Android.Support.Compat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Compat.dll - ..\packages\Xamarin.Android.Support.Core.UI.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Core.UI.dll + ..\packages\Xamarin.Android.Support.Core.UI.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Core.UI.dll - ..\packages\Xamarin.Android.Support.Core.Utils.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Core.Utils.dll + ..\packages\Xamarin.Android.Support.Core.Utils.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Core.Utils.dll - ..\packages\Xamarin.Android.Support.Fragment.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Fragment.dll + ..\packages\Xamarin.Android.Support.Fragment.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Fragment.dll - ..\packages\Xamarin.Android.Support.Media.Compat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Media.Compat.dll + ..\packages\Xamarin.Android.Support.Media.Compat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Media.Compat.dll - ..\packages\Xamarin.Android.Support.Transition.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Transition.dll + ..\packages\Xamarin.Android.Support.Transition.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Transition.dll - ..\packages\Xamarin.Android.Support.v4.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v4.dll + ..\packages\Xamarin.Android.Support.v4.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v4.dll - ..\packages\Xamarin.Android.Support.v7.CardView.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.CardView.dll + ..\packages\Xamarin.Android.Support.v7.CardView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.CardView.dll - ..\packages\Xamarin.Android.Support.v7.Palette.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.Palette.dll + ..\packages\Xamarin.Android.Support.v7.Palette.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.Palette.dll - ..\packages\Xamarin.Android.Support.v7.RecyclerView.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.RecyclerView.dll + ..\packages\Xamarin.Android.Support.v7.RecyclerView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.RecyclerView.dll - ..\packages\Xamarin.Android.Support.Vector.Drawable.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Vector.Drawable.dll + ..\packages\Xamarin.Android.Support.Vector.Drawable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Vector.Drawable.dll - ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Animated.Vector.Drawable.dll + ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Animated.Vector.Drawable.dll - ..\packages\Xamarin.Android.Support.v7.AppCompat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.AppCompat.dll + ..\packages\Xamarin.Android.Support.v7.AppCompat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.AppCompat.dll - ..\packages\Xamarin.Android.Support.Design.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Design.dll + ..\packages\Xamarin.Android.Support.Design.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Design.dll - ..\packages\Xamarin.Android.Support.v7.MediaRouter.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.MediaRouter.dll + ..\packages\Xamarin.Android.Support.v7.MediaRouter.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.MediaRouter.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\FormsViewGroup.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\FormsViewGroup.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Core.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Core.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Platform.Android.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Platform.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Platform.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Xaml.dll + + + + ..\packages\Xamarin.Android.Arch.Core.Runtime.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Core.Runtime.dll + + + ..\packages\Xamarin.Android.Arch.Lifecycle.LiveData.Core.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.LiveData.Core.dll + + + ..\packages\Xamarin.Android.Arch.Lifecycle.LiveData.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.LiveData.dll + + + ..\packages\Xamarin.Android.Arch.Lifecycle.ViewModel.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.ViewModel.dll + + + ..\packages\Xamarin.Android.Support.Collections.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Collections.dll + + + ..\packages\Xamarin.Android.Support.CursorAdapter.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CursorAdapter.dll + + + ..\packages\Xamarin.Android.Support.DocumentFile.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.DocumentFile.dll + + + ..\packages\Xamarin.Android.Support.Interpolator.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Interpolator.dll + + + ..\packages\Xamarin.Android.Support.LocalBroadcastManager.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.LocalBroadcastManager.dll + + + ..\packages\Xamarin.Android.Support.Print.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Print.dll + + + ..\packages\Xamarin.Android.Support.VersionedParcelable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.VersionedParcelable.dll + + + ..\packages\Xamarin.Android.Support.AsyncLayoutInflater.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.AsyncLayoutInflater.dll + + + ..\packages\Xamarin.Android.Support.CustomView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CustomView.dll + + + ..\packages\Xamarin.Android.Support.CoordinaterLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CoordinaterLayout.dll + + + ..\packages\Xamarin.Android.Support.DrawerLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.DrawerLayout.dll + + + ..\packages\Xamarin.Android.Support.Loader.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Loader.dll + + + ..\packages\Xamarin.Android.Support.SlidingPaneLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.SlidingPaneLayout.dll + + + ..\packages\Xamarin.Android.Support.SwipeRefreshLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.SwipeRefreshLayout.dll + + + ..\packages\Xamarin.Android.Support.ViewPager.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.ViewPager.dll + + + ..\packages\Xamarin.Android.Support.CustomTabs.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CustomTabs.dll @@ -156,29 +216,49 @@ - {14FCC004-FC52-4028-A5AE-228AFD6F6222} + {C9EEDB6E-0DDB-4CDE-A633-21ABC199D40E} AiForms.Effects - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AiForms.Effects.Droid/FeedbackPlatformEffect.cs b/AiForms.Effects.Droid/FeedbackPlatformEffect.cs index 1506659..3aadf41 100644 --- a/AiForms.Effects.Droid/FeedbackPlatformEffect.cs +++ b/AiForms.Effects.Droid/FeedbackPlatformEffect.cs @@ -76,7 +76,9 @@ protected override void OnDetachedOverride() { _view.Touch -= OnOverlayTouch; _view.RemoveOnLayoutChangeListener(_fastListener); - _rippleOverlay.RemoveFromParent(); + // If a NavigationPage is used and the following code is enabled, a null exception occurs when a NavigationPageRenderer is disposed of. + // So this code is disabled. + //_rippleOverlay.RemoveFromParent(); _fastListener.Dispose(); _fastListener = null; _rippleOverlay.Dispose(); diff --git a/AiForms.Effects.Droid/packages.config b/AiForms.Effects.Droid/packages.config index 77ea94a..7e14bca 100644 --- a/AiForms.Effects.Droid/packages.config +++ b/AiForms.Effects.Droid/packages.config @@ -1,23 +1,43 @@  - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AiForms.Effects.iOS/AddCommandPlatformEffect.cs b/AiForms.Effects.iOS/AddCommandPlatformEffect.cs index 8b40753..751bbb6 100644 --- a/AiForms.Effects.iOS/AddCommandPlatformEffect.cs +++ b/AiForms.Effects.iOS/AddCommandPlatformEffect.cs @@ -32,8 +32,18 @@ public class AddCommandPlatformEffect : FeedbackPlatformEffect private bool _isDisableEffectTarget; private readonly float _disabledAlpha = 0.3f; + private bool _isForceDetached; + protected override void OnAttached() { + if (Control is UIWebView || Control is UIScrollView) + { + _isForceDetached = true; + // Except WebView and ScrollView because of Raising Exception when OnDetached. + Device.BeginInvokeOnMainThread(() => AddCommand.SetOn(Element, false)); + return; + } + base.OnAttached(); _view = Control ?? Container; @@ -59,6 +69,10 @@ protected override void OnAttached() protected override void OnDetached() { + if(_isForceDetached) + { + return; + } base.OnDetached(); _view.RemoveGestureRecognizer(_tapGesture); diff --git a/AiForms.Effects.iOS/AiForms.Effects.iOS.csproj b/AiForms.Effects.iOS/AiForms.Effects.iOS.csproj index f8241fc..751eb6e 100644 --- a/AiForms.Effects.iOS/AiForms.Effects.iOS.csproj +++ b/AiForms.Effects.iOS/AiForms.Effects.iOS.csproj @@ -1,6 +1,6 @@ - + Debug AnyCPU @@ -50,16 +50,16 @@ - ..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll - ..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll + ..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll @@ -100,5 +100,5 @@ - + \ No newline at end of file diff --git a/AiForms.Effects.iOS/packages.config b/AiForms.Effects.iOS/packages.config index 8ca5088..304a422 100644 --- a/AiForms.Effects.iOS/packages.config +++ b/AiForms.Effects.iOS/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/AiForms.Effects/AiForms.Effects.csproj b/AiForms.Effects/AiForms.Effects.csproj index 756f947..6346e5b 100644 --- a/AiForms.Effects/AiForms.Effects.csproj +++ b/AiForms.Effects/AiForms.Effects.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 0.0.5-pre + 1.1.2 @@ -11,7 +11,7 @@ 1701;1702;1591 - + diff --git a/README-ja.md b/README-ja.md index 24e495b..9c8b7ba 100644 --- a/README-ja.md +++ b/README-ja.md @@ -404,37 +404,37 @@ Androidの場合、デバイスを回転したときテキストの位置が正 これは任意のviewにCommandの機能を追加するEffectです。 タップとロングタップにそれぞれのCommandとParameterを設定できます。 -### Supported View (in case Xamarin.Forms 2.3.4) - -| | iOS | Android | -| ----------------- | ---- | ------- | -| ActivityIndicator | ✅ | ✅ | -| BoxView | ✅ | ✅ | -| Button | ✅ | ✅ | -| DatePicker | ❌ | ✅ | -| Editor | ❌ | ❌ | -| Entry | ❌ | ❌ | -| Image | ✅ | ✅ | -| Label | ✅ | ✅ | -| ListView | ✅ | ❌ | -| Picker | ❌ | ✅ | -| ProgressBar | ✅ | ✅ | -| SearchBar | ❌ | ❌ | -| Slider | ✅ | ❌ | -| Stepper | ✅ | ❌ | -| Switch | ❌ | ❌ | -| TableView | ❌ | ❌ | -| TimePicker | ❌ | ✅ | -| WebView | ❌ | ❌ | -| ContentPresenter | ✅ | ✅ | -| ContentView | ✅ | ✅ | -| Frame | ✅ | ❌ | -| ScrollView | ✅ | ❌ | -| TemplatedView | ✅ | ✅ | -| AbsoluteLayout | ✅ | ✅ | -| Grid | ✅ | ✅ | -| RelativeLayout | ✅ | ✅ | -| StackLayout | ✅ | ✅ | +### Supported View (in case Xamarin.Forms 3.6.0) + +| | iOS | Android | +| ----------------- | --- | ------- | +| ActivityIndicator | ✅ | ✅ | +| BoxView | ✅ | ✅ | +| Button | ✅ | ✅ | +| DatePicker | ❌ | ✅ | +| Editor | ❌ | ❌ | +| Entry | ❌ | ❌ | +| Image | ✅ | ✅ | +| Label | ✅ | ✅ | +| ListView | ✅ | ❌ | +| Picker | ❌ | ✅ | +| ProgressBar | ✅ | ✅ | +| SearchBar | ❌ | ❌ | +| Slider | ✅ | ❌ | +| Stepper | ✅ | ❌ | +| Switch | ❌ | ❌ | +| TableView | ❌ | ❌ | +| TimePicker | ❌ | ✅ | +| WebView | ❌ | ❌ | +| ContentPresenter | ✅ | ✅ | +| ContentView | ✅ | ✅ | +| Frame | ✅ | ❌ | +| ScrollView | ❌ | ❌ | +| TemplatedView | ✅ | ✅ | +| AbsoluteLayout | ✅ | ✅ | +| Grid | ✅ | ✅ | +| RelativeLayout | ✅ | ✅ | +| StackLayout | ✅ | ✅ | ### Properties @@ -669,13 +669,13 @@ viewをタップするとPickerが表示され、日付を選択すると、そ ### Supported views -| | iOS | Android | which part | -| ----------------- | ---- | ------- | ---------- | -| Page | | ✅ | Statusbar | -| Slider | ✅ | ✅ | Trackbar | -| Switch | ✅ | ✅ | Trackbar | -| Entry | | ✅ | Under line | -| Editor | | ✅ | Under line | +| | iOS | Android | which part | +| ------ | --- | ------- | ---------- | +| Page | | ✅ | Statusbar | +| Slider | ✅ | ✅ | Trackbar | +| Switch | ✅ | ✅ | Trackbar | +| Entry | | ✅ | Under line | +| Editor | | ✅ | Under line | ### Properties @@ -729,6 +729,7 @@ viewをタップするとPickerが表示され、日付を選択すると、そ ## Contributors * [yuka-abn](https://github.com/yuka-abn) +* [gentledepp](https://github.com/gentledepp) ## License diff --git a/README.md b/README.md index 58bbe3b..e999f1f 100644 --- a/README.md +++ b/README.md @@ -420,37 +420,37 @@ When device rotates, text position will not be right in case android. This Effect add Command function to a view. There are properties of Command and Parameter for tap and long tap. -### Supported View (in case Xamarin.Forms 2.3.4) - -| | iOS | Android | -| ----------------- | ---- | ------- | -| ActivityIndicator | ✅ | ✅ | -| BoxView | ✅ | ✅ | -| Button | ✅ | ✅ | -| DatePicker | ❌ | ✅ | -| Editor | ❌ | ❌ | -| Entry | ❌ | ❌ | -| Image | ✅ | ✅ | -| Label | ✅ | ✅ | -| ListView | ✅ | ❌ | -| Picker | ❌ | ✅ | -| ProgressBar | ✅ | ✅ | -| SearchBar | ❌ | ❌ | -| Slider | ✅ | ❌ | -| Stepper | ✅ | ❌ | -| Switch | ❌ | ❌ | -| TableView | ❌ | ❌ | -| TimePicker | ❌ | ✅ | -| WebView | ❌ | ❌ | -| ContentPresenter | ✅ | ✅ | -| ContentView | ✅ | ✅ | -| Frame | ✅ | ❌ | -| ScrollView | ✅ | ❌ | -| TemplatedView | ✅ | ✅ | -| AbsoluteLayout | ✅ | ✅ | -| Grid | ✅ | ✅ | -| RelativeLayout | ✅ | ✅ | -| StackLayout | ✅ | ✅ | +### Supported View (in case Xamarin.Forms 3.6.0) + +| | iOS | Android | +| ----------------- | --- | ------- | +| ActivityIndicator | ✅ | ✅ | +| BoxView | ✅ | ✅ | +| Button | ✅ | ✅ | +| DatePicker | ❌ | ✅ | +| Editor | ❌ | ❌ | +| Entry | ❌ | ❌ | +| Image | ✅ | ✅ | +| Label | ✅ | ✅ | +| ListView | ✅ | ❌ | +| Picker | ❌ | ✅ | +| ProgressBar | ✅ | ✅ | +| SearchBar | ❌ | ❌ | +| Slider | ✅ | ❌ | +| Stepper | ✅ | ❌ | +| Switch | ❌ | ❌ | +| TableView | ❌ | ❌ | +| TimePicker | ❌ | ✅ | +| WebView | ❌ | ❌ | +| ContentPresenter | ✅ | ✅ | +| ContentView | ✅ | ✅ | +| Frame | ✅ | ❌ | +| ScrollView | ❌ | ❌ | +| TemplatedView | ✅ | ✅ | +| AbsoluteLayout | ✅ | ✅ | +| Grid | ✅ | ✅ | +| RelativeLayout | ✅ | ✅ | +| StackLayout | ✅ | ✅ | ### Properties @@ -689,13 +689,13 @@ This is the effect that alter the color of an element which it cannot change col ### Supported views -| | iOS | Android | which part | -| ----------------- | ---- | ------- | ---------- | -| Page | | ✅ | Statusbar | -| Slider | ✅ | ✅ | Trackbar | -| Switch | ✅ | ✅ | Trackbar | -| Entry | | ✅ | Under line | -| Editor | | ✅ | Under line | +| | iOS | Android | which part | +| ------ | --- | ------- | ---------- | +| Page | | ✅ | Statusbar | +| Slider | ✅ | ✅ | Trackbar | +| Switch | ✅ | ✅ | Trackbar | +| Entry | | ✅ | Under line | +| Editor | | ✅ | Under line | ### Properties @@ -752,6 +752,7 @@ This effect supports Editor only. ## Contributors * [yuka-abn](https://github.com/yuka-abn) +* [gentledepp](https://github.com/gentledepp) ## License diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj index 0f7420a..85dd892 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/AiEffects.TestApp.Droid.csproj @@ -1,6 +1,6 @@ - + Debug AnyCPU @@ -15,10 +15,9 @@ Resource Resources Assets - true Properties\AndroidManifest.xml 0.0.5-pre - 4G + 3G true @@ -93,82 +92,143 @@ ..\..\..\packages\ReactiveProperty.4.2.2\lib\MonoAndroid\ReactiveProperty.dll - ..\..\..\packages\Xamarin.Android.Support.Annotations.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Annotations.dll + ..\..\..\packages\Xamarin.Android.Support.Annotations.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Annotations.dll - ..\..\..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\lib\MonoAndroid80\Xamarin.Android.Arch.Core.Common.dll + ..\..\..\packages\Xamarin.Android.Arch.Core.Common.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Core.Common.dll - ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.3\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.dll + ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.Common.dll - ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.3\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.dll + ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.Runtime.dll - ..\..\..\packages\Xamarin.Android.Support.Compat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Compat.dll + ..\..\..\packages\Xamarin.Android.Support.Compat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Compat.dll - ..\..\..\packages\Xamarin.Android.Support.Core.UI.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Core.UI.dll + ..\..\..\packages\Xamarin.Android.Support.Core.UI.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Core.UI.dll - ..\..\..\packages\Xamarin.Android.Support.Core.Utils.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Core.Utils.dll + ..\..\..\packages\Xamarin.Android.Support.Core.Utils.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Core.Utils.dll - ..\..\..\packages\Xamarin.Android.Support.Fragment.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Fragment.dll + ..\..\..\packages\Xamarin.Android.Support.Fragment.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Fragment.dll - ..\..\..\packages\Xamarin.Android.Support.Media.Compat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Media.Compat.dll + ..\..\..\packages\Xamarin.Android.Support.Media.Compat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Media.Compat.dll - ..\..\..\packages\Xamarin.Android.Support.Transition.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Transition.dll + ..\..\..\packages\Xamarin.Android.Support.Transition.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Transition.dll - ..\..\..\packages\Xamarin.Android.Support.v4.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v4.dll + ..\..\..\packages\Xamarin.Android.Support.v4.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v4.dll - ..\..\..\packages\Xamarin.Android.Support.v7.CardView.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.CardView.dll + ..\..\..\packages\Xamarin.Android.Support.v7.CardView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.CardView.dll - ..\..\..\packages\Xamarin.Android.Support.v7.Palette.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.Palette.dll + ..\..\..\packages\Xamarin.Android.Support.v7.Palette.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.Palette.dll - ..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.RecyclerView.dll + ..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.RecyclerView.dll - ..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Vector.Drawable.dll + ..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Vector.Drawable.dll - ..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Animated.Vector.Drawable.dll + ..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Animated.Vector.Drawable.dll - ..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.AppCompat.dll + ..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.AppCompat.dll - ..\..\..\packages\Xamarin.Android.Support.Design.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.Design.dll + ..\..\..\packages\Xamarin.Android.Support.Design.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Design.dll - ..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.27.0.2\lib\MonoAndroid81\Xamarin.Android.Support.v7.MediaRouter.dll + ..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.v7.MediaRouter.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\FormsViewGroup.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\FormsViewGroup.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Core.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Core.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Platform.Android.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Platform.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Platform.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\MonoAndroid90\Xamarin.Forms.Xaml.dll - ..\..\..\packages\AiForms.SettingsView.0.4.0\lib\MonoAndroid\SettingsView.dll + ..\..\..\packages\AiForms.SettingsView.0.4.15\lib\MonoAndroid\SettingsView.dll - ..\..\..\packages\AiForms.SettingsView.0.4.0\lib\MonoAndroid\SettingsView.Droid.dll + ..\..\..\packages\AiForms.SettingsView.0.4.15\lib\MonoAndroid\SettingsView.Droid.dll + + + + ..\..\..\packages\Xamarin.Android.Arch.Core.Runtime.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Core.Runtime.dll + + + ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.LiveData.Core.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.LiveData.Core.dll + + + ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.LiveData.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.LiveData.dll + + + ..\..\..\packages\Xamarin.Android.Arch.Lifecycle.ViewModel.1.1.1.1\lib\monoandroid90\Xamarin.Android.Arch.Lifecycle.ViewModel.dll + + + ..\..\..\packages\Xamarin.Android.Support.Collections.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Collections.dll + + + ..\..\..\packages\Xamarin.Android.Support.CursorAdapter.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CursorAdapter.dll + + + ..\..\..\packages\Xamarin.Android.Support.DocumentFile.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.DocumentFile.dll + + + ..\..\..\packages\Xamarin.Android.Support.Interpolator.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Interpolator.dll + + + ..\..\..\packages\Xamarin.Android.Support.LocalBroadcastManager.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.LocalBroadcastManager.dll + + + ..\..\..\packages\Xamarin.Android.Support.Print.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Print.dll + + + ..\..\..\packages\Xamarin.Android.Support.VersionedParcelable.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.VersionedParcelable.dll + + + ..\..\..\packages\Xamarin.Android.Support.AsyncLayoutInflater.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.AsyncLayoutInflater.dll + + + ..\..\..\packages\Xamarin.Android.Support.CustomView.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CustomView.dll + + + ..\..\..\packages\Xamarin.Android.Support.CoordinaterLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CoordinaterLayout.dll + + + ..\..\..\packages\Xamarin.Android.Support.DrawerLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.DrawerLayout.dll + + + ..\..\..\packages\Xamarin.Android.Support.Loader.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.Loader.dll + + + ..\..\..\packages\Xamarin.Android.Support.SlidingPaneLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.SlidingPaneLayout.dll + + + ..\..\..\packages\Xamarin.Android.Support.SwipeRefreshLayout.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.SwipeRefreshLayout.dll + + + ..\..\..\packages\Xamarin.Android.Support.ViewPager.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.ViewPager.dll + + + ..\..\..\packages\Xamarin.Android.Support.CustomTabs.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.CustomTabs.dll @@ -218,24 +278,44 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/Properties/AndroidManifest.xml b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/Properties/AndroidManifest.xml index 946da5c..493fcd0 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/Properties/AndroidManifest.xml +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/Properties/AndroidManifest.xml @@ -1,4 +1,4 @@ - + diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/packages.config b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/packages.config index 3ab0e7d..1592a4d 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/packages.config +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.Droid/packages.config @@ -1,6 +1,6 @@  - + @@ -66,24 +66,44 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/AiEffects.TestApp.iOS.csproj b/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/AiEffects.TestApp.iOS.csproj index 9e15170..322c038 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/AiEffects.TestApp.iOS.csproj +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/AiEffects.TestApp.iOS.csproj @@ -1,6 +1,6 @@  - + Debug iPhoneSimulator @@ -31,6 +31,7 @@ x86 false AiEffects.TestApp.iOS +12.2 pdbonly @@ -136,22 +137,22 @@ ..\..\..\packages\ReactiveProperty.4.2.2\lib\Xamarin.iOS10\ReactiveProperty.iOS.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll - ..\..\..\packages\Xamarin.Forms.3.3.0.912540\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll + ..\..\..\packages\Xamarin.Forms.3.6.0.293080\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll - ..\..\..\packages\AiForms.SettingsView.0.4.0\lib\Xamarin.iOS10\SettingsView.dll + ..\..\..\packages\AiForms.SettingsView.0.4.15\lib\Xamarin.iOS10\SettingsView.dll - ..\..\..\packages\AiForms.SettingsView.0.4.0\lib\Xamarin.iOS10\SettingsView.iOS.dll + ..\..\..\packages\AiForms.SettingsView.0.4.15\lib\Xamarin.iOS10\SettingsView.iOS.dll @@ -193,5 +194,5 @@ - + \ No newline at end of file diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/packages.config b/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/packages.config index ad2837a..6c02de3 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/packages.config +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp.iOS/packages.config @@ -1,6 +1,6 @@  - + @@ -69,6 +69,6 @@ - + \ No newline at end of file diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp/AiEffects.TestApp.csproj b/Tests/AiEffects.TestApp/AiEffects.TestApp/AiEffects.TestApp.csproj index 7f01efd..e7dfebd 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp/AiEffects.TestApp.csproj +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp/AiEffects.TestApp.csproj @@ -6,10 +6,10 @@ - + - + diff --git a/Tests/AiEffects.TestApp/AiEffects.TestApp/Views/AddCommandPage.xaml b/Tests/AiEffects.TestApp/AiEffects.TestApp/Views/AddCommandPage.xaml index 306733a..a770dfc 100644 --- a/Tests/AiEffects.TestApp/AiEffects.TestApp/Views/AddCommandPage.xaml +++ b/Tests/AiEffects.TestApp/AiEffects.TestApp/Views/AddCommandPage.xaml @@ -101,7 +101,7 @@ ef:AddCommand.EnableSound="{Binding EnableSound}" ef:AddCommand.EnableRipple="{Binding EnableRipple}" ef:AddCommand.SyncCanExecute="{Binding SyncCanExecute}"/> - + - + - + - + ef:AddCommand.SyncCanExecute="{Binding SyncCanExecute}"/> + +