package com.fancl.iloyalty.asynctask; import android.os.AsyncTask; import com.fancl.iloyalty.asynctask.callback.ValidationAsyncTaskCallback; import com.fancl.iloyalty.exception.GeneralException; import com.fancl.iloyalty.factory.CustomServiceFactory; import com.fancl.iloyalty.pojo.ValidateUserParam; import com.fancl.iloyalty.responseimpl.ValidationResult; import com.fancl.iloyalty.service.AccountService; import com.fancl.iloyalty.util.LogController; public class ValidationAsyncTask extends AsyncTask<ValidateUserParam, Void, ValidationResult> { private AccountService accountService; private ValidationAsyncTaskCallback accountServiceAsyncTaskCallback; public ValidationAsyncTask(ValidationAsyncTaskCallback accountServiceAsyncTaskCallback) { this.accountService = CustomServiceFactory.getAccountService(); this.accountServiceAsyncTaskCallback = accountServiceAsyncTaskCallback; } @Override protected void onPreExecute () { super.onPreExecute(); //process of thread before start(UI Thread) } @Override protected ValidationResult doInBackground(ValidateUserParam... params) { //process of thread(background thread) try { return accountService.validateUserWithMemberId(params[0]); } catch (GeneralException e) { LogController.log("return this.membershipAccountService.validateUserWithMemberId() error"); e.printStackTrace(); return null; } } @Override protected void onPostExecute (ValidationResult validationResult) { super.onPostExecute(validationResult); //process of thread ended(UI Thread) LogController.log("Finish validateUserWithMemberId"); if(accountServiceAsyncTaskCallback != null && validationResult != null) { LogController.log("userRegisterAsyncTaskCallback " + validationResult); accountServiceAsyncTaskCallback.onPostUserValidateUserAsyncTaskCallback(validationResult); } else { } } }