15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package android.os;
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import com.xtremelabs.robolectric.internal.DoNotInstrument;
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)@DoNotInstrument
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)public class ShadowAsyncTaskBridge<Params, Progress, Result> {
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    private AsyncTask<Params, Progress, Result> asyncTask;
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    public ShadowAsyncTaskBridge(AsyncTask<Params, Progress, Result> asyncTask) {
10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)        this.asyncTask = asyncTask;
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    }
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    public Result doInBackground(Params... params) {
14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)        return asyncTask.doInBackground(params);
15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }
167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    public void onPreExecute() {
187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)        asyncTask.onPreExecute();
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    }
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    public void onPostExecute(Result result) {
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)        asyncTask.onPostExecute(result);
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    }
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    public void onProgressUpdate(Progress... values) {
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)        asyncTask.onProgressUpdate(values);
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    }
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    public void onCancelled() {
30a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)        asyncTask.onCancelled();
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)