package com.lechucksoftware.proxy.proxysettings.tasks;
import android.content.Context;
import android.os.AsyncTask;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.widget.Toast;
import com.lechucksoftware.proxy.proxysettings.App;
import com.lechucksoftware.proxy.proxysettings.R;
import com.lechucksoftware.proxy.proxysettings.db.PacEntity;
import com.lechucksoftware.proxy.proxysettings.db.ProxyEntity;
import com.lechucksoftware.proxy.proxysettings.utils.UIUtils;
import timber.log.Timber;
/**
* Created by Marco on 29/11/13.
*/
public class AsyncDeleteProxy extends AsyncTask<Void, String, Boolean>
{
private static final String TAG = AsyncDeleteProxy.class.getSimpleName();
private ProxyEntity proxyEntity;
private PacEntity pacEntity;
private Context context;
public AsyncDeleteProxy(Fragment caller, ProxyEntity proxy)
{
if (caller != null)
{
context = caller.getActivity().getBaseContext();
proxyEntity = proxy;
}
}
public AsyncDeleteProxy(Fragment caller, PacEntity pac)
{
if (caller != null)
{
context = caller.getActivity().getBaseContext();
pacEntity = pac;
}
}
@Override
protected void onPostExecute(Boolean result)
{
super.onPostExecute(result);
if (result)
{
if (proxyEntity != null)
{
Toast.makeText(context, context.getString(R.string.static_proxy_deleted), Toast.LENGTH_SHORT).show();
}
if (pacEntity != null)
{
Toast.makeText(context, context.getString(R.string.pac_proxy_deleted), Toast.LENGTH_SHORT).show();
}
}
else
{
UIUtils.showError(context, R.string.exception_apl_writeconfig_error_message);
}
}
@Override
protected Boolean doInBackground(Void... voids)
{
App.getTraceUtils().startTrace(TAG, "deleteProxy", Log.DEBUG);
try
{
if (proxyEntity != null)
{
App.getDBManager().deleteProxy(proxyEntity.getId());
}
if (pacEntity != null)
{
App.getDBManager().deletePac(pacEntity.getId());
}
App.getTraceUtils().stopTrace(TAG, "deleteProxy", Log.DEBUG);
return true;
}
catch (Exception e)
{
Timber.e(e, "Exception deleting proxies in doInBackground");
return false;
}
}
}