当前位置: 首页>>代码示例>>Java>>正文


Java FirebaseAuthUserCollisionException类代码示例

本文整理汇总了Java中com.google.firebase.auth.FirebaseAuthUserCollisionException的典型用法代码示例。如果您正苦于以下问题:Java FirebaseAuthUserCollisionException类的具体用法?Java FirebaseAuthUserCollisionException怎么用?Java FirebaseAuthUserCollisionException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FirebaseAuthUserCollisionException类属于com.google.firebase.auth包,在下文中一共展示了FirebaseAuthUserCollisionException类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: signIn

import com.google.firebase.auth.FirebaseAuthUserCollisionException; //导入依赖的package包/类
protected void signIn(AuthCredential credential) {
    mAuth.signInWithCredential(credential).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (!task.isSuccessful()) {
                Exception exception = task.getException();
                if (exception != null) {
                    String errorText;
                    if (exception instanceof FirebaseAuthUserCollisionException) {
                        errorText = getString(R.string.error_user_collision);
                    } else {
                        errorText = exception.toString();
                    }
                    errorTV.setText(errorText);
                    errorTV.setVisibility(View.VISIBLE);
                }
                LoginManager.getInstance().logOut();
            }
        }
    });
}
 
开发者ID:vycius,项目名称:NMAkademija,代码行数:22,代码来源:StartActivity.java

示例2: onComplete

import com.google.firebase.auth.FirebaseAuthUserCollisionException; //导入依赖的package包/类
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    if (task.isSuccessful()) {
        FirebaseUser firebaseUser = task.getResult().getUser();
        mActivity.saveCredentialsOrFinish(mSmartLock, firebaseUser, mResponse);
    } else {
        if (task.getException() instanceof FirebaseAuthUserCollisionException) {
            String email = mResponse.getEmail();
            if (email != null) {
                FirebaseAuth auth = mActivity.getAuthHelper().getFirebaseAuth();
                ProviderUtils.fetchTopProvider(auth, email)
                        .addOnSuccessListener(new StartWelcomeBackFlow())
                        .addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Intent intent = IdpResponse.getErrorCodeIntent(ErrorCodes.UNKNOWN_ERROR);
                                mActivity.finish(Activity.RESULT_CANCELED, intent);
                            }
                        });
                return;
            }
        } else {
            Log.e(TAG,
                  "Unexpected exception when signing in with credential "
                          + mResponse.getProviderType()
                          + " unsuccessful. Visit https://console.firebase.google.com to enable it.",
                  task.getException());
        }

        mActivity.getDialogHolder().dismissDialog();
    }
}
 
开发者ID:firebase,项目名称:FirebaseUI-Android,代码行数:33,代码来源:CredentialSignInHandler.java

示例3: testSignInFailed_withFacebookAlreadyLinked

import com.google.firebase.auth.FirebaseAuthUserCollisionException; //导入依赖的package包/类
@Test
@Config(shadows = {AuthHelperShadow.class})
public void testSignInFailed_withFacebookAlreadyLinked() {
    AppCompatBase mockActivity = mock(AppCompatBase.class);
    IdpResponse idpResponse =
            new IdpResponse.Builder(
                    new User.Builder(GoogleAuthProvider.PROVIDER_ID, TestConstants.EMAIL)
                            .build())
                    .setToken(TestConstants.TOKEN)
                    .build();
    CredentialSignInHandler credentialSignInHandler = new CredentialSignInHandler(
            mockActivity,
            null,
            RC_ACCOUNT_LINK,
            idpResponse);

    FlowParameters mockFlowParams = mock(FlowParameters.class);
    when(mockActivity.getFlowParams()).thenReturn(mockFlowParams);

    AuthHelper mockAuthHelper = mock(AuthHelper.class);
    when(mockActivity.getAuthHelper()).thenReturn(mockAuthHelper);
    AuthHelperShadow.getFirebaseAuth(); // Force static initialization
    when(mockAuthHelper.getFirebaseAuth()).thenReturn(AuthHelperShadow.getFirebaseAuth());

    ProgressDialogHolder mockHolder = mock(ProgressDialogHolder.class);
    when(mockActivity.getDialogHolder()).thenReturn(mockHolder);

    // pretend the account has Facebook linked already
    when(AuthHelperShadow.getFirebaseAuth().fetchProvidersForEmail(TestConstants.EMAIL)).thenReturn(
            new AutoCompleteTask<ProviderQueryResult>(
                    new FakeProviderQueryResult(
                            Arrays.asList(FacebookAuthProvider.PROVIDER_ID)), true, null));

    // pretend there was already an account with this email
    Task<AuthResult> exceptionTask = Tasks.forException(
            new FirebaseAuthUserCollisionException(LINKING_ERROR, LINKING_EXPLANATION));
    credentialSignInHandler.onComplete(exceptionTask);
    ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
    ArgumentCaptor<Integer> intCaptor = ArgumentCaptor.forClass(Integer.class);
    verify(mockActivity).startActivityForResult(intentCaptor.capture(), intCaptor.capture());
    Intent capturedIntent = intentCaptor.getValue();
    User capturedUser = User.getUser(capturedIntent);
    assertEquals(RC_ACCOUNT_LINK, (int) intCaptor.getValue());
    assertEquals(
            WelcomeBackIdpPrompt.class.getName(),
            capturedIntent.getComponent().getClassName());
    assertEquals(
            TestConstants.EMAIL,
            capturedUser.getEmail());
    assertEquals(
            FacebookAuthProvider.PROVIDER_ID,
            capturedUser.getProviderId());

}
 
开发者ID:firebase,项目名称:FirebaseUI-Android,代码行数:55,代码来源:CredentialSignInHandlerTest.java

示例4: testSignInFailed_withPasswordAccountAlreadyLinked

import com.google.firebase.auth.FirebaseAuthUserCollisionException; //导入依赖的package包/类
@Test
@Config(shadows = {AuthHelperShadow.class})
public void testSignInFailed_withPasswordAccountAlreadyLinked() {
    AppCompatBase mockActivity = mock(AppCompatBase.class);
    IdpResponse idpResponse =
            new IdpResponse.Builder(
                    new User.Builder(GoogleAuthProvider.PROVIDER_ID, TestConstants.EMAIL)
                            .build())
                    .setToken(TestConstants.TOKEN)
                    .build();
    CredentialSignInHandler credentialSignInHandler = new CredentialSignInHandler(
            mockActivity,
            null,
            RC_ACCOUNT_LINK,
            idpResponse);

    FlowParameters mockFlowParams = mock(FlowParameters.class);
    when(mockActivity.getFlowParams()).thenReturn(mockFlowParams);

    AuthHelper mockAuthHelper = mock(AuthHelper.class);
    when(mockActivity.getAuthHelper()).thenReturn(mockAuthHelper);
    AuthHelperShadow.getFirebaseAuth(); // Force static initialization
    when(mockAuthHelper.getFirebaseAuth()).thenReturn(AuthHelperShadow.getFirebaseAuth());

    ProgressDialogHolder mockHolder = mock(ProgressDialogHolder.class);
    when(mockActivity.getDialogHolder()).thenReturn(mockHolder);

    // pretend there was already an account with this email
    Task mockTask = mock(Task.class);
    when(mockTask.getException()).thenReturn(
            new FirebaseAuthUserCollisionException(LINKING_ERROR, LINKING_EXPLANATION));

    // pretend the account has a Password account linked already
    when(AuthHelperShadow.getFirebaseAuth().fetchProvidersForEmail(TestConstants.EMAIL)).thenReturn(
            new AutoCompleteTask<ProviderQueryResult>(
                    new FakeProviderQueryResult(
                            Arrays.asList(EmailAuthProvider.PROVIDER_ID)), true, null));


    credentialSignInHandler.onComplete(mockTask);
    ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
    ArgumentCaptor<Integer> intCaptor = ArgumentCaptor.forClass(Integer.class);
    verify(mockActivity).startActivityForResult(intentCaptor.capture(), intCaptor.capture());
    Intent capturedIntent = intentCaptor.getValue();
    assertEquals(RC_ACCOUNT_LINK, (int) intCaptor.getValue());
    assertEquals(
            WelcomeBackPasswordPrompt.class.getName(),
            capturedIntent.getComponent().getClassName());
    assertEquals(
            TestConstants.EMAIL,
            IdpResponse.fromResultIntent(capturedIntent).getEmail());
}
 
开发者ID:firebase,项目名称:FirebaseUI-Android,代码行数:53,代码来源:CredentialSignInHandlerTest.java


注:本文中的com.google.firebase.auth.FirebaseAuthUserCollisionException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。