diff options
6 files changed, 39 insertions, 2 deletions
diff --git a/Xamarin.Forms.ControlGallery.Android/FormsAppCompatActivity.cs b/Xamarin.Forms.ControlGallery.Android/FormsAppCompatActivity.cs index e07c860b..9a331078 100644 --- a/Xamarin.Forms.ControlGallery.Android/FormsAppCompatActivity.cs +++ b/Xamarin.Forms.ControlGallery.Android/FormsAppCompatActivity.cs @@ -5,6 +5,7 @@ using Android.App; using Android.Content; using Android.Content.PM; using Android.OS; +using Java.Interop; using Xamarin.Forms.Controls; using Xamarin.Forms.Controls.Issues; using Xamarin.Forms.Platform.Android; @@ -73,6 +74,12 @@ namespace Xamarin.Forms.ControlGallery.Android LoadApplication(_app); } + + [Export("IsPreAppCompat")] + public bool IsPreAppCompat() + { + return false; + } } } diff --git a/Xamarin.Forms.ControlGallery.Android/FormsApplicationActivity.cs b/Xamarin.Forms.ControlGallery.Android/FormsApplicationActivity.cs index 7c999ce8..15f40d2e 100644 --- a/Xamarin.Forms.ControlGallery.Android/FormsApplicationActivity.cs +++ b/Xamarin.Forms.ControlGallery.Android/FormsApplicationActivity.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using Android.App; using Android.Content.PM; using Android.OS; +using Java.Interop; using Xamarin.Forms.Controls; using Xamarin.Forms.Platform.Android; @@ -44,6 +45,12 @@ namespace Xamarin.Forms.ControlGallery.Android LoadApplication(app); } + + [Export("IsPreAppCompat")] + public bool IsPreAppCompat() + { + return true; + } } } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla35132.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla35132.cs index 5dd7e5fa..732c0a94 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla35132.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla35132.cs @@ -76,9 +76,11 @@ namespace Xamarin.Forms.Controls.Issues { RunningApp.WaitForElement (q => q.Marked ("Open")); RunningApp.Tap(q => q.Marked ("Open")); + RunningApp.WaitForElement (q => q.Marked ("Testing...")); RunningApp.Back(); RunningApp.WaitForElement (q => q.Marked ("Open")); RunningApp.Tap(q => q.Marked ("Open")); + RunningApp.WaitForElement (q => q.Marked ("Testing...")); RunningApp.Back(); RunningApp.WaitForElement (q => q.Marked ("Open")); RunningApp.Tap(q => q.Marked ("Open")); diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40333.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40333.cs index 5d422537..c14ba455 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40333.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla40333.cs @@ -198,9 +198,19 @@ namespace Xamarin.Forms.Controls.Issues #if __ANDROID__ // These tests don't work in iOS for unrelated reasons (see https://bugzilla.xamarin.com/show_bug.cgi?id=41085) + static void IgnoreFormsApplicationActivity() + { + if (AppSetup.IsFormsApplicationActivity) + { + Assert.Ignore("This test only applies to FormsAppCompatActivity."); + } + } + [Test] public void ClickingOnMenuItemInMasterDoesNotCrash_NavPageVersion() { + IgnoreFormsApplicationActivity(); + RunningApp.Tap(q => q.Marked(StartNavPageTestId)); RunningApp.WaitForElement(q => q.Marked(OpenMasterId)); @@ -214,6 +224,8 @@ namespace Xamarin.Forms.Controls.Issues [Test] public void ClickingOnMenuItemInMasterDoesNotCrash_TabPageVersion() { + IgnoreFormsApplicationActivity(); + RunningApp.Tap(q => q.Marked(StartTabPageTestId)); RunningApp.WaitForElement(q => q.Marked(OpenMasterId)); diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2809.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2809.cs index f9f227c6..61157fe4 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2809.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2809.cs @@ -40,7 +40,7 @@ namespace Xamarin.Forms.Controls.Issues { #if __ANDROID__ //show secondary menu - RunningApp.Tap (c => c.Class ("android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton")); + RunningApp.Tap (c => c.Class ("OverflowMenuButton")); #endif } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/TestPages/TestPages.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/TestPages/TestPages.cs index eb268c55..3c21d5d9 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/TestPages/TestPages.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/TestPages/TestPages.cs @@ -56,8 +56,17 @@ namespace Xamarin.Forms.Controls #if __ANDROID__ static IApp InitializeAndroidApp() { - return ConfigureApp.Android.ApkFile(AppPaths.ApkPath).Debug().StartApp(); + var app = ConfigureApp.Android.ApkFile(AppPaths.ApkPath).Debug().StartApp(); + + if (bool.Parse((string)app.Invoke("IsPreAppCompat"))) + { + IsFormsApplicationActivity = true; + } + + return app; } + + public static bool IsFormsApplicationActivity { get; private set; } #endif #if __IOS__ |