From b1ddae2be3fd3f7c87de79e804d82cf7c13dc56e Mon Sep 17 00:00:00 2001 From: Kazuaki Matsuo Date: Wed, 13 Mar 2024 11:47:18 -0700 Subject: [PATCH] fix: respect defaultActiveApplication in activeApplication selection (#862) * chore: respect defaultActiveApplication * return immediately if the given defaultActiveApplication was already foreground * move the foreground check prior than the self.testedApplication * move is auto detection --- WebDriverAgentLib/Routing/FBSession.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/WebDriverAgentLib/Routing/FBSession.m b/WebDriverAgentLib/Routing/FBSession.m index d70c53432..82134e0cc 100644 --- a/WebDriverAgentLib/Routing/FBSession.m +++ b/WebDriverAgentLib/Routing/FBSession.m @@ -166,6 +166,13 @@ - (void)kill - (XCUIApplication *)activeApplication { + BOOL isAuto = [self.defaultActiveApplication isEqualToString:FBDefaultApplicationAuto]; + NSString *defaultBundleId = isAuto ? nil : self.defaultActiveApplication; + + if (nil != defaultBundleId && [self applicationStateWithBundleId:defaultBundleId] >= XCUIApplicationStateRunningForeground) { + return [self makeApplicationWithBundleId:defaultBundleId]; + } + if (nil != self.testedApplication) { XCUIApplicationState testedAppState = self.testedApplication.state; if (testedAppState >= XCUIApplicationStateRunningForeground) { @@ -177,9 +184,6 @@ - (XCUIApplication *)activeApplication } } - NSString *defaultBundleId = [self.defaultActiveApplication isEqualToString:FBDefaultApplicationAuto] - ? nil - : self.defaultActiveApplication; return [XCUIApplication fb_activeApplicationWithDefaultBundleId:defaultBundleId]; }