refactor progress bar setup for legibility and faster reaction.
diff --git a/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java b/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
index c4bb597..05ba13c 100644
--- a/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
+++ b/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
@@ -50,6 +50,8 @@
 public class DownloadAndRestartFragment extends BaseFragment
 {
 
+    private static final int PROGRESS_BAR_UPDATE_FREQUENCY_IN_MILLIS = 1000;
+
     protected static final String TAG = DownloadAndRestartFragment.class.getSimpleName();
 
     private TextView mDownloadVersionName;
@@ -240,16 +242,18 @@
             {
                 boolean downloading = true;
 
-                long latestUpdateDownloadId = 0;
+                long latestUpdateDownloadId = mainActivity.getLatestDownloadId();
 
-                int count = 3;
+                int count = 12;
 
-                while (((latestUpdateDownloadId = mainActivity.getLatestDownloadId()) <= 0) && count > 0)
+                // Wait a sensible amount of time to get a correct reference to the download
+                while ((latestUpdateDownloadId <= 0) && count > 0)
                 {
                     try
                     {
-                        Thread.sleep(2000);
+                        Thread.sleep(500);
                         count--;
+                        latestUpdateDownloadId = mainActivity.getLatestDownloadId();
                     } catch (InterruptedException e)
                     {
                         e.printStackTrace();
@@ -302,7 +306,7 @@
                         cursor.close();
                         try
                         {
-                            Thread.sleep(1000);
+                            Thread.sleep(PROGRESS_BAR_UPDATE_FREQUENCY_IN_MILLIS);
                         } catch (InterruptedException e)
                         {
                             e.printStackTrace();