blob: e5405d5138efed12ae60d7e1543b6516b8f1a211 [file] [log] [blame]
package com.airbnb.lottie.parser;
import android.os.AsyncTask;
import android.util.JsonReader;
import com.airbnb.lottie.Cancellable;
import com.airbnb.lottie.LottieComposition;
import com.airbnb.lottie.OnCompositionLoadedListener;
import java.io.IOException;
public final class AsyncCompositionLoader
extends AsyncTask<JsonReader, Void, LottieComposition> implements Cancellable {
private final OnCompositionLoadedListener loadedListener;
@SuppressWarnings("WeakerAccess") public AsyncCompositionLoader(OnCompositionLoadedListener loadedListener) {
this.loadedListener = loadedListener;
}
@Override protected LottieComposition doInBackground(JsonReader... params) {
try {
return LottieComposition.Factory.fromJsonSync(params[0]);
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
@Override protected void onPostExecute(LottieComposition composition) {
loadedListener.onCompositionLoaded(composition);
}
@Override public void cancel() {
cancel(true);
}
}