Skip to content

[Feature Request] Support Activity Result APIs for AuthUI #1916

Closed
@jossiwolf

Description

@jossiwolf

The Android Developers documentation recommends using the Activity Result APIs instead of relying on intents for launching activities for results. Using the new APIs would enable a nicer development experience. Take the following as an example:

class FirebaseAuthUIActivityResult: ActivityResultContract<AuthUI.SignInIntentBuilder, IdpResponse>() { ... }

This API could be used like this:

val firebaseLogin = registerForActivityResult(FirebaseAuthUIActivityResult()) { result ->
    if (result.resultCode == Activity.RESULT_OK) {
        ...
    }
}
firebaseLogin.launch(
    AuthUI.getInstance().createSignInIntentBuilder()
        .setAvailableProviders(authenticationMethods)
        .setTheme(R.style.SignInTheme)
        .setAuthMethodPickerLayout(signInLayout)
)

By using a contract with types, this is safer for the end-user. More importantly, it enables future usage from Jetpack Compose.
I'd be happy to contribute here if we can scope it a bit :)

Let me know what you think!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions