diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index cfd19190a..b116c4740 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -112,6 +112,9 @@
About
Changelog
+
+ Connection Error
+ You are not connected to the internet.
Add checklist
Edit checklist
diff --git a/Habitica/src/com/habitrpg/android/habitica/APIHelper.java b/Habitica/src/com/habitrpg/android/habitica/APIHelper.java
index 32a9d962f..24ae54ee5 100644
--- a/Habitica/src/com/habitrpg/android/habitica/APIHelper.java
+++ b/Habitica/src/com/habitrpg/android/habitica/APIHelper.java
@@ -1,6 +1,9 @@
package com.habitrpg.android.habitica;
+import android.app.Activity;
import android.content.Context;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.View;
@@ -204,15 +207,30 @@ public class APIHelper implements ErrorHandler, Profiler {
@Override
public Throwable handleError(RetrofitError cause) {
- //String json = new String(((TypedByteArray)cause.getResponse().getBody()).getBytes());
- //Log.v("failure", json.toString());
retrofit.client.Response res = cause.getResponse();
- retrofit.mime.TypedInput body = res.getBody();
+ if (res != null) {
+ retrofit.mime.TypedInput body = res.getBody();
+ }
+ if (cause.isNetworkError()) {
+ final Activity activity = (Activity) this.mContext;
+ activity.runOnUiThread(new Runnable() {
+ public void run() {
+ new AlertDialog.Builder(activity)
+ .setTitle(R.string.network_error_title)
+ .setMessage(R.string.network_error_no_network_body)
+ .setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ })
+ .setIcon(android.R.drawable.ic_dialog_alert)
+ .show();
+ }
+ });
- //JsonSyntaxException d = (JsonSyntaxException)cause;
+ }
return cause;
}
diff --git a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/TypeAdapter/TagsAdapter.java b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/TypeAdapter/TagsAdapter.java
index 326ca02ae..fa9e95e13 100644
--- a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/TypeAdapter/TagsAdapter.java
+++ b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/TypeAdapter/TagsAdapter.java
@@ -50,6 +50,15 @@ public class TagsAdapter extends TypeAdapter{
case END_OBJECT:
in.endObject();
isClosed=true;
+ break;
+ case BEGIN_ARRAY:
+ in.beginArray();
+ break;
+
+ case END_ARRAY:
+ in.endArray();
+ isClosed = true;
+ break;
default:
}
} while(!isClosed);