package com.markupartist.iglaset.provider; import java.io.IOException; import android.content.Context; import android.os.AsyncTask; /** * Task that authenticates a user. */ public class AuthUserTask extends AsyncTask<Context, Void, Boolean> { public interface OnAuthorizeListener { public void onAuthorizationFailed(Exception exception); public void onAuthorizationSuccessful(); } private Exception mException; private OnAuthorizeListener mListener; public AuthUserTask(OnAuthorizeListener listener) { this.mListener = listener; } @Override protected Boolean doInBackground(Context... params) { publishProgress(); try { AuthStore.getInstance().authenticateUser(params[0]); } catch (AuthenticationException e) { mException = e; } catch (IOException e) { // TODO Auto-generated catch block mException = e; } return true; } @Override protected void onPostExecute(Boolean result) { if(null != mListener) { if (mException != null) { mListener.onAuthorizationFailed(mException); } else { mListener.onAuthorizationSuccessful(); } } } }