package com.zhan_dui.download.alfred.defaults; import com.zhan_dui.download.alfred.missions.M3U8Mission; import com.zhan_dui.download.alfred.missions.Mission; import com.zhan_dui.model.Animation; import com.zhan_dui.model.DownloadRecord; /** * Created by daimajia on 14-4-7. */ public class MissionSaver implements Mission.MissionListener<M3U8Mission>{ private Animation getAnimation(M3U8Mission mission){ Object obj = mission.getExtraInformation(mission.getUri()); Animation animation = null; if(obj!=null) animation = (Animation)obj; return animation; } private void save(M3U8Mission mission){ Animation animation = getAnimation(mission); if(animation!=null){ DownloadRecord.save(animation,mission); } } @Override public void onStart(M3U8Mission mission) { save(mission); } @Override public void onMetaDataPrepared(M3U8Mission mission) { save(mission); } @Override public void onPercentageChange(M3U8Mission mission) { save(mission); } @Override public void onSpeedChange(M3U8Mission mission) { } @Override public void onError(M3U8Mission mission, Exception e) { save(mission); } @Override public void onSuccess(M3U8Mission mission) { save(mission); } @Override public void onFinish(M3U8Mission mission) { save(mission); } @Override public void onPause(M3U8Mission mission) { save(mission); } @Override public void onResume(M3U8Mission mission) { } @Override public void onCancel(M3U8Mission mission) { Animation animation = getAnimation(mission); if(animation!=null){ DownloadRecord.deleteOne(animation); } } }