package me.corriekay.pokegoutil.data.models.operations;
import me.corriekay.pokegoutil.data.enums.OperationError;
import me.corriekay.pokegoutil.data.models.BpmOperationResult;
import me.corriekay.pokegoutil.data.models.PokemonModel;
import me.corriekay.pokegoutil.gui.enums.OperationId;
import me.corriekay.pokegoutil.utils.ConfigKey;
public class FavoriteOperation extends Operation {
/**
* Instantiate EvolveOperation. Only used in mocking.
*/
protected FavoriteOperation() {
// For mocking
super();
}
/**
* Instantiate FavoriteOperation with a pokemon.
*
* @param pokemon pokemon to favorite
*/
public FavoriteOperation(final PokemonModel pokemon) {
super(pokemon);
}
@Override
protected BpmOperationResult doOperation() {
return new BpmOperationResult("Not implemented", OperationError.NOT_IMPLEMENTED);
}
@Override
protected int getMaxDelay() {
return config.getInt(ConfigKey.DELAY_FAVORITE_MAX);
}
@Override
protected int getMinDelay() {
return config.getInt(ConfigKey.DELAY_FAVORITE_MIN);
}
@Override
public OperationId getOperationId() {
return OperationId.FAVORITE;
}
@Override
public BpmOperationResult validateOperation() {
// I think we need to check if in gym? Wasn't checked in previous code.
// if (pokemon.isInGym()) {
// return new BPMResult("Pokemon is in gym");
// }
return new BpmOperationResult();
}
}