1
1
package com.firebase.ui.auth.compose
2
2
3
+ import android.content.Intent
3
4
import androidx.activity.compose.rememberLauncherForActivityResult
4
5
import androidx.compose.runtime.Composable
5
- import androidx.compose.runtime.LaunchedEffect
6
6
import androidx.compose.runtime.remember
7
+ import androidx.compose.runtime.rememberCoroutineScope
7
8
import androidx.compose.ui.platform.LocalContext
8
9
import com.firebase.ui.auth.AuthUI
9
10
import com.firebase.ui.auth.AuthUI.IdpConfig
10
11
import com.firebase.ui.auth.FirebaseAuthUIActivityResultContract
11
12
import com.firebase.ui.auth.data.model.FirebaseAuthUIAuthenticationResult
12
13
import com.google.firebase.auth.FirebaseAuth
14
+ import kotlinx.coroutines.launch
13
15
14
16
/* *
15
17
* A composable function that provides Firebase Auth UI functionality.
@@ -37,6 +39,7 @@ fun FirebaseAuthUI(
37
39
val context = LocalContext .current
38
40
val auth = remember { FirebaseAuth .getInstance() }
39
41
val authUI = remember { AuthUI .getInstance() }
42
+ val scope = rememberCoroutineScope()
40
43
41
44
val signInLauncher = rememberLauncherForActivityResult(
42
45
contract = FirebaseAuthUIActivityResultContract (),
@@ -58,9 +61,12 @@ fun FirebaseAuthUI(
58
61
}
59
62
}
60
63
.build()
64
+ .apply {
65
+ addFlags(Intent .FLAG_ACTIVITY_CLEAR_TOP or Intent .FLAG_ACTIVITY_NEW_TASK )
66
+ }
61
67
}
62
68
63
- LaunchedEffect ( Unit ) {
69
+ scope.launch {
64
70
signInLauncher.launch(signInIntent)
65
71
}
66
72
}
0 commit comments