File tree Expand file tree Collapse file tree
app/src/main/java/com/firebaseui/android/demo
auth/src/main/java/com/firebase/ui/auth Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ import com.firebase.ui.auth.ui.screens.AuthSuccessUiContext
4343import com.firebase.ui.auth.ui.screens.FirebaseAuthScreen
4444import com.firebase.ui.auth.util.EmailLinkConstants
4545import com.firebase.ui.auth.util.displayIdentifier
46+ import com.firebase.ui.auth.util.getDisplayEmail
4647import com.google.firebase.auth.actionCodeSettings
4748
4849class HighLevelApiDemoActivity : ComponentActivity () {
@@ -212,7 +213,7 @@ private fun AppAuthenticatedContent(
212213 when (state) {
213214 is AuthState .Success -> {
214215 val user = uiContext.authUI.getCurrentUser()
215- val identifier = user? .displayIdentifier().orEmpty ()
216+ val identifier = user.displayIdentifier()
216217 Column (
217218 modifier = Modifier .fillMaxSize(),
218219 horizontalAlignment = Alignment .CenterHorizontally ,
@@ -264,7 +265,7 @@ private fun AppAuthenticatedContent(
264265 }
265266
266267 is AuthState .RequiresEmailVerification -> {
267- val email = uiContext.authUI.getCurrentUser()?.email?. takeIf { it.isNotBlank() } ? : stringProvider.emailProvider
268+ val email = uiContext.authUI.getCurrentUser().getDisplayEmail( stringProvider.emailProvider)
268269 Column (
269270 modifier = Modifier .fillMaxSize(),
270271 horizontalAlignment = Alignment .CenterHorizontally ,
Original file line number Diff line number Diff line change @@ -79,6 +79,7 @@ import com.firebase.ui.auth.ui.screens.phone.PhoneAuthScreen
7979import com.firebase.ui.auth.util.EmailLinkPersistenceManager
8080import com.firebase.ui.auth.util.SignInPreferenceManager
8181import com.firebase.ui.auth.util.displayIdentifier
82+ import com.firebase.ui.auth.util.getDisplayEmail
8283import com.google.firebase.auth.AuthCredential
8384import com.google.firebase.auth.AuthResult
8485import com.google.firebase.auth.MultiFactorResolver
@@ -734,7 +735,7 @@ private fun AuthSuccessContent(
734735 onManageMfa : () -> Unit ,
735736) {
736737 val user = authUI.getCurrentUser()
737- val userIdentifier = user? .displayIdentifier().orEmpty ()
738+ val userIdentifier = user.displayIdentifier()
738739 Column (
739740 modifier = Modifier .fillMaxSize(),
740741 verticalArrangement = Arrangement .Center ,
@@ -784,7 +785,7 @@ private fun EmailVerificationContent(
784785 onSignOut : () -> Unit ,
785786) {
786787 val user = authUI.getCurrentUser()
787- val emailLabel = user?.email?. takeIf { it.isNotBlank() } ? : stringProvider.emailProvider
788+ val emailLabel = user.getDisplayEmail( stringProvider.emailProvider)
788789 Column (
789790 modifier = Modifier .fillMaxSize(),
790791 verticalArrangement = Arrangement .Center ,
Original file line number Diff line number Diff line change @@ -22,11 +22,17 @@ import com.google.firebase.auth.FirebaseUser
2222 *
2323 * Each field is checked for blank (not just null) so that an empty string returned by the
2424 * Firebase SDK falls through to the next candidate rather than being displayed as-is.
25- * [FirebaseUser.uid] is always non-null and non-blank for a signed-in user, so the result
26- * is guaranteed to be non-blank.
25+ * Returns an empty string if the user is null.
2726 */
28- fun FirebaseUser.displayIdentifier (): String =
29- email?.takeIf { it.isNotBlank() }
30- ? : phoneNumber?.takeIf { it.isNotBlank() }
31- ? : displayName?.takeIf { it.isNotBlank() }
32- ? : uid
27+ fun FirebaseUser?.displayIdentifier (): String =
28+ this ?.email?.takeIf { it.isNotBlank() }
29+ ? : this ?.phoneNumber?.takeIf { it.isNotBlank() }
30+ ? : this ?.displayName?.takeIf { it.isNotBlank() }
31+ ? : this ?.uid
32+ ? : " "
33+
34+ /* *
35+ * Returns the user's email if it is non-blank, otherwise returns the provided [fallback].
36+ */
37+ fun FirebaseUser?.getDisplayEmail (fallback : String ): String =
38+ this ?.email?.takeIf { it.isNotBlank() } ? : fallback
You can’t perform that action at this time.
0 commit comments