001package com.gigya.android.sdk.interruption; 002 003import android.support.annotation.Nullable; 004 005import com.gigya.android.sdk.GigyaLoginCallback; 006import com.gigya.android.sdk.account.models.GigyaAccount; 007import com.gigya.android.sdk.api.GigyaApiResponse; 008import com.gigya.android.sdk.api.IBusinessApiService; 009 010import java.util.HashMap; 011import java.util.Map; 012 013public class Resolver<A extends GigyaAccount> { 014 015 final protected GigyaLoginCallback<A> _loginCallback; 016 final protected GigyaApiResponse _interruption; 017 final protected IBusinessApiService<A> _businessApiService; 018 019 public Resolver(GigyaLoginCallback<A> loginCallback, GigyaApiResponse interruption, IBusinessApiService<A> businessApiService) { 020 _loginCallback = loginCallback; 021 _interruption = interruption; 022 _businessApiService = businessApiService; 023 } 024 025 public String getRegToken() { 026 return _interruption.getField("regToken", String.class); 027 } 028 029 protected void finalizeRegistration(@Nullable Runnable completionHandler) { 030 final Map<String, Object> params = new HashMap<>(); 031 params.put("regToken", getRegToken()); // Null will result in error. 032 params.put("include", "profile,data,emails,subscriptions,preferences"); 033 params.put("includeUserInfo", "true"); 034 _businessApiService.finalizeRegistration(params, _loginCallback); 035 if (completionHandler != null) { 036 completionHandler.run(); 037 } 038 } 039}