Having started what we know to be a potentially long-running task, we probably want to let the user know that something is happening. There are a lot of ways of doing this, but a common approach is to present a dialog displaying a relevant message.
A good place to present our dialog is from the
onPreExecute method of
AsyncTask, which executes on the main thread. Hence, it is allowed to interact with the user interface.
PrimesTask will need a reference to a
Context, so that it can prepare a
ProgressDialog, which it will show and dismiss in
onPostExecute respectively. As
doInBackground has not changed, it is not shown in the following code, for brevity:
public class PrimesTask extends AsyncTask<Integer, ...