package com.mozu.mozuandroidinstoreassistant.app.tasks;
import android.content.Context;
import com.crashlytics.android.Crashlytics;
import com.mozu.api.ApiException;
import com.mozu.api.MozuConfig;
import com.mozu.api.contracts.appdev.AppAuthInfo;
import com.mozu.api.security.AppAuthenticator;
import com.mozu.api.security.RefreshInterval;
import com.mozu.mozuandroidinstoreassistant.app.models.authentication.AppAuthenticatorAsyncListener;
public class AppAuthenticateAsyncTask extends InternetConnectedAsyncTask<Void, Void, Boolean> {
private static final int HOUR_OF_MILLIS = 3600000;
private AppAuthenticatorAsyncListener mListener;
private AppAuthInfo mAppAuthInfo;
private String mBaseUrl;
public AppAuthenticateAsyncTask(Context context, AppAuthInfo appAuthInfo, String baseUrl, AppAuthenticatorAsyncListener listener) {
super(context);
mAppAuthInfo = appAuthInfo;
mBaseUrl = baseUrl;
mListener = listener;
}
@Override
protected Boolean doInBackground(Void... params) {
super.doInBackground(params);
try {
MozuConfig.setBaseUrl(mBaseUrl);
AppAuthenticator.initialize(mAppAuthInfo, new RefreshInterval(HOUR_OF_MILLIS, HOUR_OF_MILLIS));
} catch (ApiException e) {
Crashlytics.logException(e);
return false;
} catch (Exception e) {
Crashlytics.logException(e);
return false;
}
return true;
}
@Override
protected void onPostExecute(Boolean success) {
super.onPostExecute(success);
if (success) {
mListener.appInitialized();
} else {
mListener.errorInitializingApp("");
}
}
}