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);