package com.mopub.common.util.test.support;
import android.os.AsyncTask;
import com.mopub.common.util.AsyncTasks;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import java.util.Arrays;
import java.util.List;
@Implements(value = AsyncTasks.class, callThroughByDefault = false)
public class ShadowAsyncTasks {
private static boolean sWasCalled;
private static AsyncTask<?, ?, ?> sAsyncTask;
private static List<?> sParams;
@Implementation
public static <P> void safeExecuteOnExecutor(AsyncTask<P, ?, ?> asyncTask, P... params)
throws IllegalArgumentException, IllegalStateException {
sWasCalled = true;
sAsyncTask = asyncTask;
sParams = Arrays.asList(params);
}
public static boolean wasCalled() {
return sWasCalled;
}
public static AsyncTask<?, ?, ?> getLatestAsyncTask() {
return sAsyncTask;
}
public static List<?> getLatestParams() {
return sParams;
}
public static void reset() {
sWasCalled = false;
sAsyncTask = null;
sParams = null;
}
}