Skip to content

Commit f9b9d5b

Browse files
committed
refactor: extract LoginServerManager.isPoolServer() helper (W-23406836)
Consolidates the repeated three-way pool-server check (PRODUCTION / SANDBOX / WELCOME) into a single static method on LoginServerManager, and updates all three call sites: - LoginViewModel.addDpopJktIfNeeded - SalesforceSDKManager.fetchAndUpdateAuthConfigIfNeeded - SalesforceDroidGapActivity.fetchAuthConfig
1 parent a62f5b3 commit f9b9d5b

4 files changed

Lines changed: 12 additions & 14 deletions

File tree

libs/SalesforceHybrid/src/com/salesforce/androidsdk/phonegap/ui/SalesforceDroidGapActivity.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ import com.salesforce.androidsdk.config.BootConfig
4141
import com.salesforce.androidsdk.config.BootConfig.getBootConfig
4242
import com.salesforce.androidsdk.config.BootConfig.isAbsoluteUrl
4343
import com.salesforce.androidsdk.config.BootConfig.validateBootConfig
44-
import com.salesforce.androidsdk.config.LoginServerManager.PRODUCTION_LOGIN_URL
45-
import com.salesforce.androidsdk.config.LoginServerManager.SANDBOX_LOGIN_URL
46-
import com.salesforce.androidsdk.config.LoginServerManager.WELCOME_LOGIN_URL
44+
import com.salesforce.androidsdk.config.LoginServerManager
4745
import com.salesforce.androidsdk.phonegap.app.SalesforceHybridSDKManager
4846
import com.salesforce.androidsdk.phonegap.ui.SalesforceWebViewClientHelper.getAppHomeUrl
4947
import com.salesforce.androidsdk.phonegap.ui.SalesforceWebViewClientHelper.hasCachedAppHome
@@ -574,7 +572,7 @@ open class SalesforceDroidGapActivity : CordovaActivity(), SalesforceActivityInt
574572
?.url
575573
?.trim { it <= ' ' } ?: return@withTimeout
576574

577-
if (loginServer == PRODUCTION_LOGIN_URL || loginServer == WELCOME_LOGIN_URL || loginServer == SANDBOX_LOGIN_URL || !isHttpsUrl(loginServer) || loginServer.toHttpUrlOrNull() == null) {
575+
if (LoginServerManager.isPoolServer(loginServer) || !isHttpsUrl(loginServer) || loginServer.toHttpUrlOrNull() == null) {
578576
return@withTimeout
579577
}
580578

libs/SalesforceSDK/src/com/salesforce/androidsdk/app/SalesforceSDKManager.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,6 @@ import com.salesforce.androidsdk.config.AdminPermsManager
104104
import com.salesforce.androidsdk.config.AdminSettingsManager
105105
import com.salesforce.androidsdk.config.BootConfig.getBootConfig
106106
import com.salesforce.androidsdk.config.LoginServerManager
107-
import com.salesforce.androidsdk.config.LoginServerManager.PRODUCTION_LOGIN_URL
108-
import com.salesforce.androidsdk.config.LoginServerManager.SANDBOX_LOGIN_URL
109107
import com.salesforce.androidsdk.config.LoginServerManager.WELCOME_LOGIN_URL
110108
import com.salesforce.androidsdk.config.OAuthConfig
111109
import com.salesforce.androidsdk.config.RuntimeConfig.ConfigKey.IDPAppPackageName
@@ -2177,7 +2175,6 @@ open class SalesforceSDKManager protected constructor(
21772175
// If this takes more than five seconds it can cause Android's application not responding report.
21782176
withTimeoutOrNull(5000L.milliseconds) {
21792177
val loginServer = (loginServerUrl ?: loginServerManager.selectedLoginServer.url).trim()
2180-
val isStandardLoginServer = loginServer == PRODUCTION_LOGIN_URL || loginServer == SANDBOX_LOGIN_URL
21812178
val isInvalidServer = !isHttpsUrl(loginServer) || loginServer.toHttpUrlOrNull() == null
21822179

21832180
when {
@@ -2191,7 +2188,7 @@ open class SalesforceSDKManager protected constructor(
21912188
// Disable Salesforce App Attestation for login servers that are not My Domain servers.
21922189
appAttestationClient?.apiHostName = null
21932190
}
2194-
isStandardLoginServer -> {
2191+
LoginServerManager.isPoolServer(loginServer) -> {
21952192
// Standard login servers have no auth-config to source a shared-session value from, so
21962193
// browser login is gated solely on the force flag and shared session stays false.
21972194
setBrowserLoginEnabled(

libs/SalesforceSDK/src/com/salesforce/androidsdk/config/LoginServerManager.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ public class LoginServerManager {
7373
public static final String WELCOME_LOGIN_URL = "https://welcome.salesforce.com/discovery";
7474
public static final String SANDBOX_LOGIN_URL = "https://test.salesforce.com";
7575

76+
/** Returns true when {@code serverUrl} is one of the three Salesforce pool (non-my-domain) servers. */
77+
public static boolean isPoolServer(@NonNull String serverUrl) {
78+
return PRODUCTION_LOGIN_URL.equals(serverUrl)
79+
|| SANDBOX_LOGIN_URL.equals(serverUrl)
80+
|| WELCOME_LOGIN_URL.equals(serverUrl);
81+
}
82+
7683
/**
7784
* Shared preferences when non-custom login servers are provided by resources servers.xml
7885
*/

libs/SalesforceSDK/src/com/salesforce/androidsdk/ui/LoginViewModel.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ import com.salesforce.androidsdk.auth.dpop.DPoPKeyManager
6565
import com.salesforce.androidsdk.auth.dpop.DPoPProofBuilder
6666
import com.salesforce.androidsdk.auth.onAuthFlowComplete
6767
import com.salesforce.androidsdk.config.BootConfig
68+
import com.salesforce.androidsdk.config.LoginServerManager
6869
import com.salesforce.androidsdk.config.LoginServerManager.LoginServer
69-
import com.salesforce.androidsdk.config.LoginServerManager.PRODUCTION_LOGIN_URL
70-
import com.salesforce.androidsdk.config.LoginServerManager.SANDBOX_LOGIN_URL
71-
import com.salesforce.androidsdk.config.LoginServerManager.WELCOME_LOGIN_URL
7270
import com.salesforce.androidsdk.config.OAuthConfig
7371
import com.salesforce.androidsdk.config.RuntimeConfig.ConfigKey.OnlyShowAuthorizedHosts
7472
import com.salesforce.androidsdk.config.RuntimeConfig.getRuntimeConfig
@@ -733,9 +731,7 @@ open class LoginViewModel(
733731
sdkManager: SalesforceSDKManager,
734732
params: MutableMap<String, String>,
735733
) {
736-
val isMyDomainServer = server != PRODUCTION_LOGIN_URL
737-
&& server != SANDBOX_LOGIN_URL
738-
&& server != WELCOME_LOGIN_URL
734+
val isMyDomainServer = !LoginServerManager.isPoolServer(server)
739735
if (!sdkManager.useDPoP || !isMyDomainServer) {
740736
// Clear any stale dpop_jkt and its key from a previous server-picker entry.
741737
params.remove("dpop_jkt")

0 commit comments

Comments
 (0)