/** * Copyright (c) 2015 unfoldingWord * http://creativecommons.org/licenses/MIT/ * See LICENSE file for details. * Contributors: * PJ Fechner <pj@actsmedia.com> */ package runnables; import android.util.Log; import model.DataFileManager; import model.daoModels.Book; import model.parsers.MediaType; import services.UWUpdaterService; import tasks.BytesDownloadTask; /** * Created by Fechner on 9/24/15. */ public class DownloadAudioRunnable implements Runnable { private static final String TAG = "UpdateMediaRunnable"; private final Book book; private UWUpdaterService updater; private String audioUrl; public DownloadAudioRunnable(Book book, UWUpdaterService updater, String audioUrl) { this.book = book; this.updater = updater; this.audioUrl = audioUrl; } @Override public void run() { downloadMedia(); } private void downloadMedia(){ new BytesDownloadTask(new BytesDownloadTask.DownloadTaskListener(){ @Override public void downloadFinishedWithJson(byte[] data) { Log.d(TAG, "Downloaded media: " + audioUrl); saveMediaFile(audioUrl, data); } }).execute(audioUrl); } private void saveMediaFile(String url, byte[] data){ DataFileManager.saveDataForBook(updater.getApplicationContext(), book, data, MediaType.MEDIA_TYPE_AUDIO, url); book.update(); updater.runnableFinished(book.getVersion(), MediaType.MEDIA_TYPE_AUDIO); } }