summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core
diff options
context:
space:
mode:
authorSamantha Houts <samantha@teamredwall.com>2016-10-12 12:57:15 -0700
committerJason Smith <jason.smith@xamarin.com>2016-10-12 12:57:15 -0700
commitd16f3550dcacb92b36e8c7ec5d4547cd97d001bf (patch)
treeb8fb966cb36955e0fd4b2a1e8db5c586b34969e2 /Xamarin.Forms.Core
parent739802143552ea1d28544bd05718bf4feeeb5bed (diff)
downloadxamarin-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.cs57
-rw-r--r--Xamarin.Forms.Core/Xamarin.Forms.Core.csproj3
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