package org.witness.informacam.intake; import java.util.ArrayList; import java.util.List; import org.witness.informacam.models.j3m.IDCIMEntry; import org.witness.informacam.utils.BackgroundProcessor; import org.witness.informacam.utils.BackgroundTask; import org.witness.informacam.utils.Constants.App.Storage.Type; import org.witness.informacam.utils.Constants.Codes; import org.witness.informacam.utils.Constants.InformaCamEventListener; import org.witness.informacam.utils.Constants.Logger; import android.os.Bundle; import android.os.Message; public class BatchCompleteJob extends BackgroundTask { private static final long serialVersionUID = 1323437516938803940L; List<IDCIMEntry> thumbnails = new ArrayList<IDCIMEntry>(); protected final static String LOG = "************************** BatchCompleteJob **************************"; public BatchCompleteJob(BackgroundProcessor backgroundProcessor) { super(backgroundProcessor); } @Override protected boolean onStart() { persist(); return super.onStart(); } @Override protected void onStop() { super.onStop(); Bundle data = new Bundle(); data.putInt(Codes.Extras.MESSAGE_CODE, Codes.Messages.DCIM.STOP); Message message = new Message(); message.setData(data); InformaCamEventListener mListener = informaCam.getEventListener(); if (mListener != null) { mListener.onUpdate(message); } } public void addThumbnail(IDCIMEntry thumbnail) { thumbnails.add(thumbnail); } public void persist() { Logger.d(LOG, "CLEANING UP AFTER DCIM OBSERVER"); for(IDCIMEntry entry : thumbnails) { informaCam.ioService.delete(entry.fileAsset.path, entry.fileAsset.source); informaCam.ioService.delete(entry.uri, Type.CONTENT_RESOLVER); } } }