package eu.tpmusielak.securephoto.container; import android.content.Context; import eu.tpmusielak.securephoto.container.wrapper.SPIWrapper; import eu.tpmusielak.securephoto.tools.FileHandling; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * Created by IntelliJ IDEA. * User: Tomasz P. Musielak * Date: 25/03/12 * Time: 16:21 */ public class SPImageHandler implements SPFileHandler { private VerifierProvider verifierProvider; public SPImageHandler(VerifierProvider provider) { verifierProvider = provider; } @Override public SPIWrapper saveFile(byte[] bytes) { File pictureFile; try { pictureFile = FileHandling.getOutputFile(SPImage.DEFAULT_EXTENSION); } catch (IOException e) { throw new RuntimeException("Cannot create output file"); } try { FileOutputStream fileOutputStream = new FileOutputStream(pictureFile); SPImage image = SPImage.getInstance(bytes, verifierProvider.getVerifiers()); fileOutputStream.write(image.toByteArray()); fileOutputStream.close(); return new SPIWrapper(pictureFile, image.getHeader(), image.getFrameHash()); } catch (FileNotFoundException e) { throw new RuntimeException(String.format("Cannot write to file %s", pictureFile.getAbsolutePath())); } catch (IOException e) { throw new RuntimeException("IOException: " + e.toString()); } } @Override public void onInitialize(Context context) { } }