summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues
diff options
context:
space:
mode:
authorPaul DiPietro <pauldipietro@users.noreply.github.com>2016-08-02 11:15:35 -0500
committerSamantha Houts <samantha@teamredwall.com>2016-08-02 09:15:35 -0700
commitac44cf9dec53b3b8be1836f20479f01820f3667f (patch)
tree3b5ebf0580020e3ef5fc4d73d51e87c50f608719 /Xamarin.Forms.Controls.Issues
parentea01c07aa32e39e947104253a44566dded50123e (diff)
downloadxamarin-forms-ac44cf9dec53b3b8be1836f20479f01820f3667f.tar.gz
xamarin-forms-ac44cf9dec53b3b8be1836f20479f01820f3667f.tar.bz2
xamarin-forms-ac44cf9dec53b3b8be1836f20479f01820f3667f.zip
[Android] Add null check to prevent crashes when long clicking a text entry in ListView header/footer (#271)
When a text entry control (Entry, Editor, SearchBar, etc.) was being used in the header or footer of a ListView on Android, a long click/press would cause a crash. This was occurring in the HandleContextMode method because it expected to be a cell. Adding a null check and breaking out of the method if the value from GetCellForPosition is null prevents this crash from occurring.
Diffstat (limited to 'Xamarin.Forms.Controls.Issues')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40858.cs55
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems1
2 files changed, 56 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40858.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40858.cs
new file mode 100644
index 00000000..0bb024ca
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40858.cs
@@ -0,0 +1,55 @@
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+using Xamarin.Forms.Internals;
+
+#if UITEST
+using Xamarin.UITest;
+using NUnit.Framework;
+#endif
+
+namespace Xamarin.Forms.Controls.Issues
+{
+ [Preserve(AllMembers = true)]
+ [Issue(IssueTracker.Bugzilla, 40858, "Long clicking a text entry in a ListView header/footer cause a crash", PlatformAffected.Android)]
+ public class Bugzilla40858 : TestContentPage
+ {
+ protected override void Init()
+ {
+ Content = new StackLayout
+ {
+ Children =
+ {
+ new ListView
+ {
+ Header = new Editor
+ {
+ AutomationId = "Header",
+ HeightRequest = 50,
+ Text = "ListView Header -- Editor"
+ },
+ Footer = new Entry
+ {
+ AutomationId = "Footer",
+ HeightRequest = 50,
+ Text = "ListView Footer -- Entry"
+ }
+ }
+ }
+ };
+ }
+
+#if UITEST
+
+#if __ANDROID__
+ [Test]
+ public void ListViewDoesNotCrashOnTextEntryHeaderOrFooterLongClick()
+ {
+ RunningApp.TouchAndHold(x => x.Marked("Header"));
+ RunningApp.TouchAndHold(x => x.Marked("Footer"));
+ }
+#endif
+
+#endif
+ }
+}
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
index 85c287f5..6531b47d 100644
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
@@ -104,6 +104,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla40185.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla40333.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla31806.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla40858.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla40955.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla41078.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla40998.cs" />