package com.fancl.iloyalty.asynctask;
import android.os.AsyncTask;
import com.fancl.iloyalty.asynctask.callback.RegistrationAsyncTaskCallback;
import com.fancl.iloyalty.exception.FanclException;
import com.fancl.iloyalty.factory.CustomServiceFactory;
import com.fancl.iloyalty.pojo.UserRegistrationParam;
import com.fancl.iloyalty.responseimpl.FanclGeneralResult;
import com.fancl.iloyalty.service.AccountService;
import com.fancl.iloyalty.util.LogController;
public class RegistrationAsyncTask extends AsyncTask<UserRegistrationParam, Void, FanclGeneralResult>{
private AccountService accountService;
private RegistrationAsyncTaskCallback registrationAsyncTaskCallback;
public RegistrationAsyncTask(RegistrationAsyncTaskCallback registrationAsyncTaskCallback)
{
this.accountService = CustomServiceFactory.getAccountService();
this.registrationAsyncTaskCallback = registrationAsyncTaskCallback;
}
@Override
protected void onPreExecute () {
super.onPreExecute();
//process of thread before start(UI Thread)
}
@Override
protected FanclGeneralResult doInBackground(UserRegistrationParam... params) {
//process of thread(background thread)
LogController.log("RegistrationAsyncTask doInBackground >>> " + params[0]);
try
{
return accountService.registerUserWithMemberId(params[0]);
}
catch (FanclException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute (FanclGeneralResult results) {
super.onPostExecute(results);
//process of thread ended(UI Thread)
if(registrationAsyncTaskCallback != null)
{
registrationAsyncTaskCallback.onPostExecuteCallback(results);
}
}
}