package com.markjmind.uni.thread; import com.markjmind.uni.UniInterface; import com.markjmind.uni.UniLoadFail; /** * <br>捲土重來<br> * * @author 오재웅(JaeWoong-Oh) * @email markjmind@gmail.com * @since 2016-03-11 */ public class ThreadProcessAdapter extends ThreadProcessObserver { private UniInterface uniInterface; private UniLoadFail uniLoadFail; private boolean skipOnPre; public ThreadProcessAdapter(UniInterface uniInterface, UniLoadFail uniLoadFail, boolean skipOnPre) { this.uniInterface = uniInterface; this.uniLoadFail = uniLoadFail; this.skipOnPre = skipOnPre; } @Override public void onPreExecute(CancelAdapter cancelAdapter) { if(!skipOnPre) { this.uniInterface.onPre(); } } @Override public void doInBackground(LoadEvent event, CancelAdapter cancelAdapter) throws Exception { this.uniInterface.onLoad(event, cancelAdapter); } @Override public void onProgressUpdate(Object value, CancelAdapter cancelAdapter) { this.uniInterface.onUpdate(value, cancelAdapter); } @Override public void onPostExecute() { this.uniInterface.onPost(); } @Override public void onFailedExecute(String message, Object arg) { this.uniInterface.onPostFail(message, arg); } @Override public void onExceptionExecute(Exception e) { if(uniLoadFail==null) { this.uniInterface.onException(e); }else{ this.uniLoadFail.onException(e); } } @Override public void onCancelled(boolean attached) { if(uniLoadFail==null) { this.uniInterface.onCancelled(attached); }else{ this.uniLoadFail.onCancelled(attached); } } }