diff options
author | BogDan Vatra <bog_dan_ro@yahoo.com> | 2012-07-22 21:18:44 +0300 |
---|---|---|
committer | BogDan Vatra <bog_dan_ro@yahoo.com> | 2012-07-22 21:18:44 +0300 |
commit | 6105e1d8c56655ad30f82f2f9b91b3ac113293b9 (patch) | |
tree | 7bde0c0684d3815697309658d87ed08e16e5a569 | |
parent | 8ccb5b69b2db63d6f336429fde34a3b146e9be95 (diff) |
Fix qt libs retrieval when qt will be upgraded.
-rw-r--r-- | Ministro/src/org/kde/necessitas/ministro/MinistroService.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index d7bd9af..28292ca 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -41,6 +41,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; @@ -133,7 +134,7 @@ public class MinistroService extends Service } private int m_actionId=0; // last actions id - + private Handler m_handler = null; // current downloaded libraries private final ArrayList<Library> m_downloadedLibraries = new ArrayList<Library>(); @@ -299,6 +300,7 @@ public class MinistroService extends Service @Override public void onCreate() { + m_handler = new Handler(); m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; m_pathSeparator = System.getProperty("path.separator", ":"); @@ -444,7 +446,7 @@ public class MinistroService extends Service ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName, parameters); m_actions.add(as); // if not, lets start an activity to do it. - Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + final Intent intent = new Intent(MinistroService.this, MinistroActivity.class); intent.putExtra("id", as.id); intent.putExtra("name", appName); if (null != notFoundModules) @@ -457,7 +459,12 @@ public class MinistroService extends Service boolean failed = false; try { - MinistroService.this.startActivity(intent); + m_handler.postDelayed(new Runnable() { + @Override + public void run() { + MinistroService.this.startActivity(intent); + } + }, 100); } catch(Exception e) { @@ -512,7 +519,12 @@ public class MinistroService extends Service try { if (null != action.modules) - action.callback.loaderReady(checkModules(action.modules, null)); + { + Bundle loaderParams = checkModules(action.modules, null); + Library.mergeBundleParameters(loaderParams, ENVIRONMENT_VARIABLES_KEY, action.parameters, ENVIRONMENT_VARIABLES_KEY); + Library.mergeBundleParameters(loaderParams, APPLICATION_PARAMETERS_KEY, action.parameters, APPLICATION_PARAMETERS_KEY); + action.callback.loaderReady(loaderParams); + } else checkModulesImpl(action.callback, action.parameters); } |