diff --git a/SWADroid/gen/es/ugr/swad/swadroid/R.java b/SWADroid/gen/es/ugr/swad/swadroid/R.java
index 5a58679f..656a2179 100644
--- a/SWADroid/gen/es/ugr/swad/swadroid/R.java
+++ b/SWADroid/gen/es/ugr/swad/swadroid/R.java
@@ -33,6 +33,7 @@ public final class R {
public static final int close_dialog=0x7f050003;
public static final int errorCopyMsg_DB=0x7f050016;
public static final int errorMsgLaunchingActivity=0x7f050014;
+ public static final int errorMsgWorkaroundEmulator=0x7f050015;
public static final int functionsTitle_menu=0x7f05000f;
public static final int loginModuleLabel=0x7f050001;
public static final int loginProgressDescription=0x7f050013;
diff --git a/SWADroid/res/values-es/strings.xml b/SWADroid/res/values-es/strings.xml
index 4ef4b885..31b571a1 100644
--- a/SWADroid/res/values-es/strings.xml
+++ b/SWADroid/res/values-es/strings.xml
@@ -20,5 +20,8 @@
Conectar
Identificación
Conectando...
- Ha ocurrido un error durante la ejecución de la operaciónActualizando base de datos...Error copiando base de datos
-
\ No newline at end of file
+ Ha ocurrido un error durante la ejecución de la operación
+ Actualizando base de datos...Error copiando base de datos
+ Ha ocurrido un error durante la ejecución de la operación
+ Mierda. Ese bug del emulador de Android ha vuelto a aparecer. Reintentando...
+
diff --git a/SWADroid/res/values/strings.xml b/SWADroid/res/values/strings.xml
index a7704bdf..6279ed8a 100644
--- a/SWADroid/res/values/strings.xml
+++ b/SWADroid/res/values/strings.xml
@@ -21,6 +21,7 @@
Login
Connecting...
An error occurred during the execution of the operation
-Upgrading database...
-Error copying database
-
\ No newline at end of file
+ Upgrading database...
+ Error copying database
+ Damn. That Android emulator bug appeared again. Retrying...
+
diff --git a/SWADroid/src/es/ugr/swad/swadroid/Global.java b/SWADroid/src/es/ugr/swad/swadroid/Global.java
index 9f0d057f..8fb63753 100644
--- a/SWADroid/src/es/ugr/swad/swadroid/Global.java
+++ b/SWADroid/src/es/ugr/swad/swadroid/Global.java
@@ -72,4 +72,8 @@ public class Global {
* Table name for for relationship between test's questions and tags
*/
public static final String DB_TABLE_TEST_QUESTIONS_TAGS = "tst_questions_tags";
+ /*
+ * Class Module's tag name for Logcat
+ */
+ public static final String MODULE_TAG = "Module";
}
diff --git a/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java b/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java
index 0bae0c5e..03e392ac 100644
--- a/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java
+++ b/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java
@@ -22,6 +22,8 @@ package es.ugr.swad.swadroid.modules;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
+import android.util.Log;
+import es.ugr.swad.swadroid.Global;
import es.ugr.swad.swadroid.Preferences;
import es.ugr.swad.swadroid.R;
import java.io.IOException;
@@ -209,7 +211,17 @@ public class Module extends Activity {
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
- androidHttpTransport.call(SOAP_ACTION, envelope);
+
+ //If an XmlPullParserException occurs, retry once in order to workaround an Android emulator bug
+ try {
+ androidHttpTransport.call(SOAP_ACTION, envelope);
+ } catch(XmlPullParserException ex) {
+ Log.e(Global.MODULE_TAG, ex.getLocalizedMessage());
+ ex.printStackTrace();
+ Log.e(Global.MODULE_TAG, getString(R.string.errorMsgWorkaroundEmulator));
+ androidHttpTransport.call(SOAP_ACTION, envelope);
+ }
+
result = (SoapObject) envelope.getResponse();
}