package com.mozu.mozuandroidinstoreassistant.app.tasks; import android.os.AsyncTask; import com.crashlytics.android.Crashlytics; import com.mozu.api.ApiException; import com.mozu.api.contracts.core.UserAuthInfo; import com.mozu.api.security.AuthenticationProfile; import com.mozu.api.security.AuthenticationScope; import com.mozu.api.security.UserAuthenticator; import com.mozu.mozuandroidinstoreassistant.app.models.authentication.UserAuthenticatorAsyncListener; public class UserAuthenticateAsyncTask extends AsyncTask<Void, Void, AuthenticationProfile> { private UserAuthInfo mAuthInfo; private UserAuthenticatorAsyncListener mLoginListener; public UserAuthenticateAsyncTask(UserAuthInfo authInfo, UserAuthenticatorAsyncListener loginListener) { mAuthInfo = authInfo; mLoginListener = loginListener; } @Override public AuthenticationProfile doInBackground(Void... params) { try { return UserAuthenticator.authenticate(mAuthInfo, AuthenticationScope.Tenant, null); } catch (ApiException e) { Crashlytics.logException(e); } catch (Exception e) { Crashlytics.logException(e); } return null; } @Override public void onPostExecute(AuthenticationProfile profile) { if (profile != null) { mLoginListener.userAuthenticated(profile); } else { mLoginListener.authenticationFailed(""); } } @Override public void onCancelled() { mLoginListener.authenticationFailed(""); } }