package com.github.jberkel.pay.me;
public enum Response {
// response codes from the IAB service
OK (0, R.string.pay_me_response_ok, "OK"),
USER_CANCELED (1, R.string.pay_me_response_user_canceled, "User Canceled"),
BILLING_UNAVAILABLE(3, R.string.pay_me_response_billing_unavailable, "Billing Unavailable"),
ITEM_UNAVAILABLE (4, R.string.pay_me_response_item_unavailable, "Item Unavailable"),
DEVELOPER_ERROR (5, R.string.pay_me_response_developer_error, "Developer Error"),
ERROR (6, R.string.pay_me_response_error, "Error"),
ITEM_ALREADY_OWNED (7, R.string.pay_me_response_item_already_owned, "Item Already Owned"),
ITEM_NOT_OWNED (8, R.string.pay_me_response_item_not_owned, "Item not owned"),
// internal response codes
IABHELPER_REMOTE_EXCEPTION (-1001, R.string.pay_me_response_remote_exception, "Remote exception during initialization"),
IABHELPER_BAD_RESPONSE (-1002, R.string.pay_me_response_bad_response, "Bad response received"),
IABHELPER_VERIFICATION_FAILED (-1003, R.string.pay_me_response_signature_verification_failed, "Purchase signature verification failed"),
IABHELPER_SEND_INTENT_FAILED (-1004, R.string.pay_me_response_send_intent_failed, "Send intent failed"),
IABHELPER_UNKNOWN_PURCHASE_RESPONSE (-1006, R.string.pay_me_response_unknown_purchase_response, "Unknown purchase response"),
IABHELPER_MISSING_TOKEN (-1007, R.string.pay_me_response_missing_token, "Missing token"),
IABHELPER_UNKNOWN_ERROR (-1008, R.string.pay_me_response_unknown_error, "Unknown error"),
IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE(-1009, R.string.pay_me_response_subscriptions_not_available, "Subscriptions not available"),
IABHELPER_INVALID_CONSUMPTION (-1010, R.string.pay_me_response_invalid_consumption, "Invalid consumption attempt"),
IABHELPER_DISPOSED (-1011, R.string.pay_me_response_disposed, "The helper was already disposed of");
/** the error code */
public final int code;
/** a resource id which can be used to look up the localized response message */
public final int stringId;
/** short description of the response */
public final String description;
Response(int code, int stringId, String description) {
this.code = code;
this.stringId = stringId;
this.description = description;
}
public static Response fromCode(int code) {
for (Response s : Response.values()) {
if (s.code == code) return s;
}
return IABHELPER_UNKNOWN_ERROR;
}
public static String getDescription(int code) {
return fromCode(code).description;
}
}