Package-level declarations

Types

Link copied to clipboard

This class provides UI to switch between existing signed in user accounts, or add a new account. This screen is popped off the activity stack once the account switch is made.

Link copied to clipboard

The Android SDK configuration.

Link copied to clipboard

How the SDK presents login when the debug Login Options select it.

Link copied to clipboard

This class provides UI to ask the user to opt in to biometric authentication. It renders the biometric opt-in dialog over a transparent background and records the user's choice before finishing. It is launched by com.salesforce.androidsdk.security.interfaces.BiometricAuthenticationManager.presentOptInDialog.

Link copied to clipboard

Debug Native Login form, the login activity when the developer support Login Options select Native Login (see NativeLoginDebugSettings). It uses the public Native Login API as an app would, and adds the result details, a redacted OAuth trace and a link back to Login Options.

Link copied to clipboard
Link copied to clipboard

Login activity authenticates a user. Authorization happens inside a web view.

Link copied to clipboard
open class LoginViewModel(val bootConfig: BootConfig, backgroundContext: CoroutineContext = IO) : ViewModel

View model for the login activity managing OAuth authorization URL generation, server selection, and authentication flow state.

Link copied to clipboard

An activity which prompts the user to clear storage and informs the user that this will log out all users.

Link copied to clipboard
data class NativeLoginDebugConfig(val consumerKey: String = "", val redirectUri: String = "", val communityUrl: String = "", val useDPoP: Boolean = true, val useHybridFlow: Boolean = true)

The External Client App used by the debug Native Login form. Kept apart from the boot config, which the browser login (including the Native Login browser fallback) keeps using.

Link copied to clipboard

Debug-only choice between browser login and the SDK's built-in Native Login form, edited in the Login Options screen of the developer support menu and persisted across launches.

Link copied to clipboard

Test tags of the debug Login Options authentication mode section and of DebugNativeLoginActivity, shared with the iOS accessibility identifiers.

Link copied to clipboard
Abstract base class for all Salesforce activities.
Link copied to clipboard
Class taking care of common behavior of Salesforce*Activity classes
Link copied to clipboard
Interface common to all Salesforce*Activity classes Used by SalesforceActivityDelegate
Link copied to clipboard
Abstract base class for all Salesforce expandable list activities.
Link copied to clipboard
Abstract base class for all Salesforce list activities.
Link copied to clipboard
Custom radio button implementation to represent a Salesforce custom server endpoint.
Link copied to clipboard

An activity that locks the app behind the operating system's provided authentication or guides the user through biometric enrollment.

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Preview(showBackground = true)
fun BootConfigViewPreview()
Link copied to clipboard
fun CollapsibleSection(title: String, items: List<Pair<String, String>>, defaultExpanded: Boolean = false)
Link copied to clipboard
fun DevInfoItem(name: String, value: String?)
Link copied to clipboard
fun DevInfoScreen(paddingValues: PaddingValues, devSupportInfo: DevSupportInfo)
Link copied to clipboard
fun DiscoveryResultEditor(sdkManager: SalesforceSDKManager = SalesforceSDKManager.getInstance())

Editor body for simulating a Welcome Discovery result (login host + username). Mirrors iOS DiscoveryResultEditor.swift. Tapping Save arms SalesforceSDKManager.simulatedDiscoveryResult; the next Welcome Discovery launch will inject these values instead of running the real WebView discovery flow. Hosted under a Switch in LoginOptionsScreen (parallels the Override Boot Config section).

Link copied to clipboard
fun LoginOptionsScreen(innerPadding: PaddingValues, useWebServer: MutableLiveData<Boolean>, useHybridToken: MutableLiveData<Boolean>, forceAdvancedAuth: MutableLiveData<Boolean>, useEphemeralSessionForAdvancedAuth: MutableLiveData<Boolean>, useDPoP: MutableLiveData<Boolean>, overrideConfig: OAuthConfig?, bootConfig: BootConfig = BootConfig.getBootConfig(LocalContext.current), sdkManager: SalesforceSDKManager? = SalesforceSDKManager.getInstance(), customTabBrowserContent: @Composable () -> Unit? = null, authenticationModeContent: @Composable () -> Unit? = null, showBrowserOptions: Boolean = true)
Link copied to clipboard
@Preview(showBackground = true)
fun LoginOptionsScreenPreview()
Link copied to clipboard
@Preview(showBackground = true)
fun OptionsTogglePreview()
Link copied to clipboard
fun OptionToggle(title: String, contentDescription: String, optionData: MutableLiveData<Boolean>)