mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-19 12:18:59 +00:00
Merge pull request #246 from HabitRPG/change-connection-dialog-error
Change how Dialog Connection Error works
This commit is contained in:
commit
ce9b0167e5
2 changed files with 57 additions and 14 deletions
|
|
@ -213,11 +213,10 @@ public class APIHelper implements ErrorHandler, Profiler {
|
|||
|
||||
@Override
|
||||
public Throwable handleError(RetrofitError cause) {
|
||||
final Activity activity = (Activity) this.mContext;
|
||||
|
||||
if (cause.getKind().equals(RetrofitError.Kind.NETWORK)) {
|
||||
//It also handles timeouts
|
||||
showConnectionProblemDialog(activity, R.string.network_error_no_network_body);
|
||||
showConnectionProblemDialog(R.string.network_error_no_network_body);
|
||||
return cause;
|
||||
} else if (cause.getKind().equals(RetrofitError.Kind.HTTP)) {
|
||||
retrofit.client.Response response = cause.getResponse();
|
||||
|
|
@ -229,39 +228,39 @@ public class APIHelper implements ErrorHandler, Profiler {
|
|||
|
||||
if(res.err != null && !res.err.isEmpty())
|
||||
{
|
||||
showConnectionProblemDialog(activity, "", res.err);
|
||||
showConnectionProblemDialog("", res.err);
|
||||
}
|
||||
else
|
||||
{
|
||||
showConnectionProblemDialog(activity, R.string.authentication_error_title, R.string.authentication_error_body);
|
||||
showConnectionProblemDialog(R.string.authentication_error_title, R.string.authentication_error_body);
|
||||
}
|
||||
|
||||
return cause;
|
||||
} else if (status >= 500 && status < 600) {
|
||||
showConnectionProblemDialog(activity,R.string.internal_error_api);
|
||||
showConnectionProblemDialog(R.string.internal_error_api);
|
||||
return cause;
|
||||
} else if (status == 404 && cause.getUrl().endsWith("party/chat")) {
|
||||
return cause;
|
||||
}
|
||||
}
|
||||
showConnectionProblemDialog(activity, R.string.internal_error_api);
|
||||
showConnectionProblemDialog(R.string.internal_error_api);
|
||||
|
||||
return cause;
|
||||
}
|
||||
|
||||
private void showConnectionProblemDialog(final Activity activity, final int resourceMessageString) {
|
||||
showConnectionProblemDialog(activity, R.string.network_error_title, resourceMessageString);
|
||||
private void showConnectionProblemDialog(final int resourceMessageString) {
|
||||
showConnectionProblemDialog(R.string.network_error_title, resourceMessageString);
|
||||
}
|
||||
|
||||
private void showConnectionProblemDialog(final Activity activity, final int resourceTitleString, final int resourceMessageString) {
|
||||
showConnectionProblemDialog(activity, activity.getString(resourceTitleString), activity.getString(resourceMessageString));
|
||||
private void showConnectionProblemDialog(final int resourceTitleString, final int resourceMessageString) {
|
||||
showConnectionProblemDialog(HabiticaApplication.currentActivity.getString(resourceTitleString), HabiticaApplication.currentActivity.getString(resourceMessageString));
|
||||
}
|
||||
|
||||
private void showConnectionProblemDialog(final Activity activity, final String resourceTitleString, final String resourceMessageString){
|
||||
activity.runOnUiThread(new Runnable() {
|
||||
private void showConnectionProblemDialog(final String resourceTitleString, final String resourceMessageString){
|
||||
HabiticaApplication.currentActivity.runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
if (!(activity).isFinishing()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
||||
if (!(HabiticaApplication.currentActivity).isFinishing()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(HabiticaApplication.currentActivity)
|
||||
.setTitle(resourceTitleString)
|
||||
.setMessage(resourceMessageString)
|
||||
.setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package com.habitrpg.android.habitica;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.database.DatabaseErrorHandler;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
|
@ -49,8 +51,50 @@ public class HabiticaApplication extends Application {
|
|||
FlowManager.init(this);
|
||||
|
||||
FacebookSdk.sdkInitialize(getApplicationContext());
|
||||
registerActivityLifecycleCallbacks();
|
||||
}
|
||||
|
||||
private void registerActivityLifecycleCallbacks() {
|
||||
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
|
||||
@Override
|
||||
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
||||
HabiticaApplication.currentActivity = activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStarted(Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResumed(Activity activity) {
|
||||
HabiticaApplication.currentActivity = activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityPaused(Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStopped(Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityDestroyed(Activity activity) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static Activity currentActivity = null;
|
||||
|
||||
// region SQLite overrides
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in a new issue