summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogDan Vatra <bog_dan_ro@yahoo.com>2012-07-22 21:18:44 +0300
committerBogDan Vatra <bog_dan_ro@yahoo.com>2012-07-22 21:18:44 +0300
commit6105e1d8c56655ad30f82f2f9b91b3ac113293b9 (patch)
tree7bde0c0684d3815697309658d87ed08e16e5a569
parent8ccb5b69b2db63d6f336429fde34a3b146e9be95 (diff)
Fix qt libs retrieval when qt will be upgraded.
-rw-r--r--Ministro/src/org/kde/necessitas/ministro/MinistroService.java20
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);
}