package org.petero.droidfish.engine;
import java.io.File;
import java.io.IOException;
import java.util.List;
import com.kalab.chess.enginesupport.ChessEngine;
import com.kalab.chess.enginesupport.ChessEngineResolver;
import android.content.Context;
/** Engine imported from a different android app, resolved using the open exchange format. */
public class OpenExchangeEngine extends ExternalEngine {
public OpenExchangeEngine(Context context, String engine, Report report) {
super(context, engine, report);
}
@Override
protected String copyFile(File from, File exeDir) throws IOException {
new File(internalSFPath()).delete();
ChessEngineResolver resolver = new ChessEngineResolver(context);
List<ChessEngine> engines = resolver.resolveEngines();
for (ChessEngine engine : engines) {
if (EngineUtil.openExchangeFileName(engine).equals(from.getName())) {
File engineFile = engine.copyToFiles(context.getContentResolver(), exeDir);
return engineFile.getAbsolutePath();
}
}
throw new IOException("Engine not found");
}
}