package com.door43.translationstudio.tasks;
import com.door43.translationstudio.AppContext;
import com.door43.translationstudio.core.Library;
import com.door43.translationstudio.core.LibraryUpdates;
import com.door43.util.tasks.ManagedTask;
/**
* Created by joel on 10/28/2015.
*/
public class DownloadUpdatesTask extends ManagedTask {
public static String TASK_ID = "download_all_updates";
private final LibraryUpdates availableUpdates;
private int mMaxProgress = 100;
public DownloadUpdatesTask(LibraryUpdates availableUpdates) {
this.availableUpdates = availableUpdates;
}
@Override
public void start() {
publishProgress(-1, "");
if(availableUpdates != null) {
Library library = AppContext.getLibrary();
library.downloadUpdates(availableUpdates, new Library.OnProgressListener() {
@Override
public boolean onProgress(int progress, int max) {
mMaxProgress = max;
publishProgress(progress, "");
return !isCanceled();
}
@Override
public boolean onIndeterminate() {
return !isCanceled();
}
});
}
}
@Override
public int maxProgress() {
return mMaxProgress;
}
}