From 6018ceaed2533c9f22e31e827bcc56e68cdf0c84 Mon Sep 17 00:00:00 2001 From: James Sanford Date: Mon, 29 Oct 2012 23:53:14 -0700 Subject: [PATCH] Only run DownloadImage once assets are loaded. --- src/com/froop/app/kegs/KegsMain.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/com/froop/app/kegs/KegsMain.java b/src/com/froop/app/kegs/KegsMain.java index 86d1992..9fd5ff7 100644 --- a/src/com/froop/app/kegs/KegsMain.java +++ b/src/com/froop/app/kegs/KegsMain.java @@ -44,6 +44,7 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S private boolean mAssetsReady = false; private boolean mDownloadReady = false; + private boolean mDownloadStarted = false; private boolean mDownloadAborted = false; private boolean mModeMouse = true; @@ -114,6 +115,17 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S private void loadDiskImageWhenReady(final DiskImage image) { final AssetFragment frag = (AssetFragment)getSupportFragmentManager().findFragmentByTag(FRAGMENT_ASSET); + // Only start download when the assets are ready. + if (mAssetsReady && !mDownloadStarted) { + mDownloadStarted = true; + final String imagePath = mConfigFile.getImagePath(); + if (android.os.Build.VERSION.SDK_INT >= 11) { + new DownloadImage(this, imagePath, image).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } else { + new DownloadImage(this, imagePath, image).execute(); + } + } + // This code is lame. if (mDownloadAborted) { if (frag != null) { @@ -160,16 +172,10 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S getThread().doPowerOff(); } + mDownloadStarted = false; mDownloadReady = false; mDownloadAborted = false; - final String imagePath = mConfigFile.getImagePath(); - if (android.os.Build.VERSION.SDK_INT >= 11) { - new DownloadImage(this, imagePath, image).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } else { - new DownloadImage(this, imagePath, image).execute(); - } - loadDiskImageWhenReady(image); }