package com.num.tasks;
import java.util.HashMap;
import java.util.Map;
import android.content.Context;
import android.util.Log;
import com.num.Values;
import com.num.listeners.ResponseListener;
import com.num.models.ClientLog;
public abstract class ServerTask implements Runnable{
private Context context;
private Map<String,String> reqParams;
private ResponseListener listener;
private Values session;
public ServerTask(Context context, Map<String, String> reqParams,
ResponseListener listener) {
super();
this.context = context;
this.reqParams = reqParams;
this.listener = listener;
session = (Values) getContext().getApplicationContext();
}
public void run() {
long startTime = System.currentTimeMillis();
try{
this.runTask();
}
catch(Exception e){
ClientLog.log(getContext(), e, toString());
}
long endTime = System.currentTimeMillis();
Log.i(toString(), "Total execution time: " + (endTime-startTime) + " ms");
}
public abstract void runTask();
public abstract String toString();
public Context getContext()
{
return context;
}
public Values getValues()
{
return session;
}
public HashMap<String, String> getReqParams()
{
return (HashMap<String, String>) reqParams;
}
public ResponseListener getResponseListener()
{
return listener;
}
}