package net.reichholf.dreamdroid.asynctask;
import net.reichholf.dreamdroid.helpers.ExtendedHashMap;
import net.reichholf.dreamdroid.helpers.enigma2.PowerState;
import net.reichholf.dreamdroid.helpers.enigma2.requesthandler.PowerStateRequestHandler;
/**
* Created by Stephan on 27.12.2015.
*/
public class SetPowerStateTask extends AsyncHttpTaskBase<String, String, Boolean> {
protected ExtendedHashMap mResult;
public SetPowerStateTask(PowerStateTaskHandler taskHandler) {
super(taskHandler);
}
@Override
protected Boolean doInBackground(String... params) {
PowerStateRequestHandler handler = new PowerStateRequestHandler();
String xml = handler.get(getHttpClient(), PowerState.getStateParams(params[0]));
if (xml != null) {
if (isCancelled())
return false;
ExtendedHashMap result = new ExtendedHashMap();
handler.parse(xml, result);
mResult = result;
return true;
}
return false;
}
@Override
protected void onPostExecute(Boolean result) {
PowerStateTaskHandler resultHandler = (PowerStateTaskHandler) mTaskHandler.get();
if (isCancelled() || resultHandler == null)
return;
boolean success = result && mResult != null;
if (!success)
mResult = new ExtendedHashMap();
resultHandler.onPowerStateSet(success, mResult, getErrorText());
}
public interface PowerStateTaskHandler extends AsyncHttpTaskBaseHandler {
void onPowerStateSet(boolean success, ExtendedHashMap result, String resultText);
}
}