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 AsyncSaveProxy extends AsyncTask<Void, String, Boolean>
{
private Context context;
private ProxyEntity proxyEntity;
private PacEntity pacEntity;
private static final String TAG = AsyncSaveProxy.class.getSimpleName();
public AsyncSaveProxy(Fragment caller, ProxyEntity proxy)
{
if (caller != null)
{
context = caller.getActivity().getBaseContext();
proxyEntity = proxy;
}
}
public AsyncSaveProxy(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_saved), Toast.LENGTH_SHORT).show();
}
if (pacEntity != null)
{
Toast.makeText(context, context.getString(R.string.pac_proxy_saved), 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, "saveProxy", Log.DEBUG);
try
{
if (proxyEntity != null)
{
App.getDBManager().upsertProxy(proxyEntity);
}
if (pacEntity != null)
{
App.getDBManager().upsertPac(pacEntity);
}
App.getTraceUtils().stopTrace(TAG, "saveProxy", Log.DEBUG);
return true;
}
catch (Exception e)
{
Timber.e(e, "Exception saving proxies in doInBackground");
return false;
}
}
}