001package com.gigya.android.sdk;
002
003import android.support.annotation.NonNull;
004import android.support.annotation.Nullable;
005
006import com.gigya.android.sdk.api.GigyaApiResponse;
007import com.gigya.android.sdk.interruption.IPendingRegistrationResolver;
008import com.gigya.android.sdk.interruption.link.ILinkAccountsResolver;
009import com.gigya.android.sdk.interruption.tfa.TFAResolverFactory;
010import com.gigya.android.sdk.interruption.tfa.models.TFAProviderModel;
011import com.gigya.android.sdk.network.GigyaError;
012
013import java.util.List;
014
015/**
016 * Gigya login response abstract callback.
017 * Non abstract function are used for optional interruption handling.
018 *
019 * @param <A> Custom account type provided int the Gigya interface initialization. If non specified will use basic GigyaAccount type.
020 */
021public abstract class GigyaLoginCallback<A> extends GigyaCallback<A> {
022
023    public void onPendingVerification(@NonNull GigyaApiResponse response, @Nullable String regToken) {
024        onError(GigyaError.fromResponse(response));
025    }
026
027    public void onPendingRegistration(@NonNull GigyaApiResponse response, @NonNull IPendingRegistrationResolver resolver) {
028        onError(GigyaError.fromResponse(response));
029    }
030
031    public void onConflictingAccounts(@NonNull GigyaApiResponse response, @NonNull ILinkAccountsResolver resolver) {
032        onError(GigyaError.fromResponse(response));
033    }
034
035    public void onPendingPasswordChange(@NonNull GigyaApiResponse response) {
036        onError(GigyaError.fromResponse(response));
037    }
038
039    public void onPendingTwoFactorRegistration(@NonNull GigyaApiResponse response, @NonNull final List<TFAProviderModel> inactiveProviders,
040                                               @NonNull TFAResolverFactory resolverFactory) {
041        onError(GigyaError.fromResponse(response));
042    }
043
044    public void onPendingTwoFactorVerification(@NonNull GigyaApiResponse response, @NonNull final List<TFAProviderModel> activeProviders,
045                                               @NonNull TFAResolverFactory resolverFactory) {
046        onError(GigyaError.fromResponse(response));
047    }
048}