package io.evercam.androidapp.tasks;
import android.app.Activity;
import android.os.AsyncTask;
import android.util.Log;
import io.evercam.Camera;
import io.evercam.CameraShare;
import io.evercam.EvercamException;
import io.evercam.androidapp.R;
import io.evercam.androidapp.custom.CustomProgressDialog;
import io.evercam.androidapp.custom.CustomToast;
import io.evercam.androidapp.dto.AppData;
import io.evercam.androidapp.utils.Constants;
import io.evercam.androidapp.utils.EnumConstants.DeleteType;
public class DeleteCameraTask extends AsyncTask<Void, Void, Boolean>
{
private final String TAG = "evercamplay-DeleteCameraTask";
private String cameraId;
private CustomProgressDialog customProgressDialog;
private Activity activity;
private DeleteType deleteType;
public DeleteCameraTask(String cameraId, Activity activity, DeleteType type)
{
this.cameraId = cameraId;
this.activity = activity;
this.deleteType = type;
}
@Override
protected void onPreExecute()
{
customProgressDialog = new CustomProgressDialog(activity);
customProgressDialog.show(activity.getString(R.string.deleting_camera));
}
@Override
protected Boolean doInBackground(Void... params)
{
try
{
if(deleteType == DeleteType.DELETE_OWNED)
{
if(Camera.delete(cameraId))
{
return true;
}
}
else
{
if(AppData.defaultUser != null)
{
if(CameraShare.delete(cameraId, AppData.defaultUser.getUsername()))
{
return true;
}
}
else
{
//This should never happen
}
}
}
catch(EvercamException e)
{
Log.e(TAG, e.toString());
}
return false;
}
@Override
protected void onPostExecute(Boolean success)
{
customProgressDialog.dismiss();
if(success)
{
CustomToast.showInBottom(activity, R.string.msg_delete_success);
activity.setResult(Constants.RESULT_TRUE);
activity.finish();
}
else
{
CustomToast.showInBottom(activity, R.string.msg_delete_failed);
}
}
}