This potentially downloads the whole app update, doesn't it? And there's no way to set this context later? This will leak and/or crash if the  app starts another activity and finishes this one. Allow a reset of the Activity if you need an Activity. If you only need a Context, hang on to the context.getApplicationContext() instead. Or leverage your Service context if you can.

This also doesn't appear to need access to the UI thread, since it does nothing in onPreExecute and it does not have a onPostExecute. You could just run this on a background thread or executor service.

This will also apply to the other AsyncTask(s) above, but this one seems like the longest running so I put the comment here.