171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamspackage android.os;
271d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
36d7cabef7bfbd7f56c3bb2dca3066430b2116985Christian Williamsimport com.xtremelabs.robolectric.internal.DoNotInstrument;
471d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
56d7cabef7bfbd7f56c3bb2dca3066430b2116985Christian Williams@DoNotInstrument
671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williamspublic class ShadowAsyncTaskBridge<Params, Progress, Result> {
771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    private AsyncTask<Params, Progress, Result> asyncTask;
871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
971d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public ShadowAsyncTaskBridge(AsyncTask<Params, Progress, Result> asyncTask) {
1071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        this.asyncTask = asyncTask;
1171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
1271d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
1371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public Result doInBackground(Params... params) {
1471d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        return asyncTask.doInBackground(params);
1571d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
1671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
1771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public void onPreExecute() {
1871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        asyncTask.onPreExecute();
1971d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
2071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
2171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public void onPostExecute(Result result) {
2271d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        asyncTask.onPostExecute(result);
2371d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
2471d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
2571d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public void onProgressUpdate(Progress... values) {
2671d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        asyncTask.onProgressUpdate(values);
2771d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
2871d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams
2971d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    public void onCancelled() {
3071d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams        asyncTask.onCancelled();
3171d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams    }
3271d7c3bcf0400e4b81109dd785187e1a93da3cabChristian Williams}
33