diff options
author | Samantha Houts <samantha@teamredwall.com> | 2016-10-12 12:57:15 -0700 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-10-12 12:57:15 -0700 |
commit | d16f3550dcacb92b36e8c7ec5d4547cd97d001bf (patch) | |
tree | b8fb966cb36955e0fd4b2a1e8db5c586b34969e2 /Xamarin.Forms.Core | |
parent | 739802143552ea1d28544bd05718bf4feeeb5bed (diff) | |
download | xamarin-forms-d16f3550dcacb92b36e8c7ec5d4547cd97d001bf.tar.gz xamarin-forms-d16f3550dcacb92b36e8c7ec5d4547cd97d001bf.tar.bz2 xamarin-forms-d16f3550dcacb92b36e8c7ec5d4547cd97d001bf.zip |
[Android App Compat] Can opt out of sending Appearing/Disappearing events on Resume/Pause (#450)
* Add reproduction for 40722
* [Core] Add Android AppCompat PS props ...
... to disable sending Disappearing/Appearing events on Pause/Resume
respectively.
* [Android] Allow user to disable Pause/Resume evts
* Revise repro to use new PS option
* Update docs
Diffstat (limited to 'Xamarin.Forms.Core')
-rw-r--r-- | Xamarin.Forms.Core/PlatformConfiguration/AndroidSpecific/AppCompat/Application.cs | 57 | ||||
-rw-r--r-- | Xamarin.Forms.Core/Xamarin.Forms.Core.csproj | 3 |
2 files changed, 59 insertions, 1 deletions
diff --git a/Xamarin.Forms.Core/PlatformConfiguration/AndroidSpecific/AppCompat/Application.cs b/Xamarin.Forms.Core/PlatformConfiguration/AndroidSpecific/AppCompat/Application.cs new file mode 100644 index 00000000..8451b957 --- /dev/null +++ b/Xamarin.Forms.Core/PlatformConfiguration/AndroidSpecific/AppCompat/Application.cs @@ -0,0 +1,57 @@ +namespace Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat +{ + using FormsElement = Forms.Application; + + public static class Application + { + public static readonly BindableProperty SendDisappearingEventOnPauseProperty = + BindableProperty.Create("SendDisappearingEventOnPause", typeof(bool), + typeof(Application), true); + + public static bool GetSendDisappearingEventOnPause(BindableObject element) + { + return (bool)element.GetValue(SendDisappearingEventOnPauseProperty); + } + + public static void SetSendDisappearingEventOnPause(BindableObject element, bool value) + { + element.SetValue(SendDisappearingEventOnPauseProperty, value); + } + + public static bool GetSendDisappearingEventOnPause(this IPlatformElementConfiguration<Android, FormsElement> config) + { + return GetSendDisappearingEventOnPause(config.Element); + } + + public static IPlatformElementConfiguration<Android, FormsElement> SendDisappearingEventOnPause(this IPlatformElementConfiguration<Android, FormsElement> config, bool value) + { + SetSendDisappearingEventOnPause(config.Element, value); + return config; + } + + public static readonly BindableProperty SendAppearingEventOnResumeProperty = + BindableProperty.Create("SendAppearingEventOnResume", typeof(bool), + typeof(Application), true); + + public static bool GetSendAppearingEventOnResume(BindableObject element) + { + return (bool)element.GetValue(SendAppearingEventOnResumeProperty); + } + + public static void SetSendAppearingEventOnResume(BindableObject element, bool value) + { + element.SetValue(SendAppearingEventOnResumeProperty, value); + } + + public static bool GetSendAppearingEventOnResume(this IPlatformElementConfiguration<Android, FormsElement> config) + { + return GetSendAppearingEventOnResume(config.Element); + } + + public static IPlatformElementConfiguration<Android, FormsElement> SendAppearingEventOnResume(this IPlatformElementConfiguration<Android, FormsElement> config, bool value) + { + SetSendAppearingEventOnResume(config.Element, value); + return config; + } + } +} diff --git a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj index 90578e3c..777e85e3 100644 --- a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj +++ b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj @@ -87,6 +87,7 @@ <Compile Include="DateChangedEventArgs.cs" /> <Compile Include="DelegateLogListener.cs" /> <Compile Include="EnumerableExtensions.cs" /> + <Compile Include="PlatformConfiguration\AndroidSpecific\AppCompat\Application.cs" /> <Compile Include="PlatformConfiguration\AndroidSpecific\Application.cs" /> <Compile Include="PlatformConfiguration\ExtensionPoints.cs" /> <Compile Include="PlatformConfiguration\iOSSpecific\BlurEffectStyle.cs" /> @@ -450,4 +451,4 @@ </PostBuildEvent> </PropertyGroup> <ItemGroup /> -</Project> +</Project>
\ No newline at end of file |