ApiErrorDialogHelper.java

 1package eu.siacs.conversations.ui.util;
 2
 3import android.app.AlertDialog;
 4import android.app.Dialog;
 5import android.content.Context;
 6import android.support.annotation.StringRes;
 7
 8import eu.siacs.conversations.R;
 9import eu.siacs.conversations.services.QuickConversationsService;
10
11public class ApiErrorDialogHelper {
12
13    public static Dialog create(Context context, int code) {
14        @StringRes final int res;
15        switch (code) {
16            case QuickConversationsService.API_ERROR_AIRPLANE_MODE:
17                res = R.string.no_network_connection;
18                break;
19            case QuickConversationsService.API_ERROR_OTHER:
20                res = R.string.unknown_api_error_network;
21                break;
22            case QuickConversationsService.API_ERROR_CONNECT:
23                res = R.string.unable_to_connect_to_server;
24                break;
25            case QuickConversationsService.API_ERROR_SSL_HANDSHAKE:
26                res = R.string.unable_to_establish_secure_connection;
27                break;
28            case QuickConversationsService.API_ERROR_UNKNOWN_HOST:
29                res = R.string.unable_to_find_server;
30                break;
31            case 400:
32                res = R.string.invalid_user_input;
33                break;
34            case 502:
35            case 503:
36            case 504:
37                res = R.string.temporarily_unavailable;
38                break;
39            default:
40                res = R.string.unknown_api_error_response;
41        }
42        AlertDialog.Builder builder = new AlertDialog.Builder(context);
43        builder.setMessage(res);
44        builder.setPositiveButton(R.string.ok, null);
45        return builder.create();
46    }
47}