196 lines
7.2 KiB
Java
196 lines
7.2 KiB
Java
![]() |
/*
|
||
|
* Copyright (c) 2019, The Android Open Source Project
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* Redistribution and use in source and binary forms, with or without
|
||
|
* modification, are permitted provided that the following conditions are met:
|
||
|
* - Redistributions of source code must retain the above copyright
|
||
|
* notice, this list of conditions and the following disclaimer.
|
||
|
* - Redistributions in binary form must reproduce the above copyright
|
||
|
* notice, this list of conditions and the following disclaimer in the
|
||
|
* documentation and/or other materials provided with the distribution.
|
||
|
* - Neither the name of The Android Open Source Project nor the names of its contributors may
|
||
|
* be used to endorse or promote products derived from this software
|
||
|
* without specific prior written permission.
|
||
|
*
|
||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||
|
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MOTOROLA MOBILITY LLC BE LIABLE
|
||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||
|
* DAMAGE.
|
||
|
*/
|
||
|
|
||
|
package com.android.ims;
|
||
|
|
||
|
public class ResultCode {
|
||
|
/**
|
||
|
* The code is used when the request is success.
|
||
|
*/
|
||
|
public static final int SUCCESS =0;
|
||
|
|
||
|
/**
|
||
|
* Return this code if the service doesn't be enabled on the phone.
|
||
|
* As per the requirement the feature can be enabled/disabled by DM.
|
||
|
*/
|
||
|
public static final int ERROR_SERVICE_NOT_ENABLED = -1;
|
||
|
|
||
|
/**
|
||
|
* Return this code if the service didn't publish yet.
|
||
|
*/
|
||
|
public static final int ERROR_SERVICE_NOT_PUBLISHED = -2;
|
||
|
|
||
|
/**
|
||
|
* The service is not available, for example it is 1x only
|
||
|
*/
|
||
|
public static final int ERROR_SERVICE_NOT_AVAILABLE = -3;
|
||
|
|
||
|
/**
|
||
|
* SUBSCRIBE Error base
|
||
|
*/
|
||
|
public static final int SUBSCRIBER_ERROR_CODE_START = ERROR_SERVICE_NOT_AVAILABLE;
|
||
|
|
||
|
/**
|
||
|
* Temporary error and need retry later.
|
||
|
* such as:
|
||
|
* 503 Service Unavailable
|
||
|
* Device shall retry with exponential back-off
|
||
|
*
|
||
|
* 408 Request Timeout
|
||
|
* Device shall retry with exponential back-off
|
||
|
*
|
||
|
* 423 Interval Too Short. Requested expiry interval too short and server rejects it
|
||
|
* Device shall re-attempt subscription after changing the expiration interval in
|
||
|
* the Expires header field to be equal to or greater than the expiration interval
|
||
|
* within the Min-Expires header field of the 423 response
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_TEMPORARY_ERROR = SUBSCRIBER_ERROR_CODE_START - 1;
|
||
|
|
||
|
/**
|
||
|
* receives 403 (reason="User Not Registered").
|
||
|
* Re-Register to IMS then retry the single resource subscription if capability polling.
|
||
|
* availability fetch: no retry.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_NOT_REGISTERED = SUBSCRIBER_ERROR_CODE_START - 2;
|
||
|
|
||
|
/**
|
||
|
* Responding for 403 - not authorized (Requestor)
|
||
|
* No retry.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_NOT_AUTHORIZED_FOR_PRESENCE =
|
||
|
SUBSCRIBER_ERROR_CODE_START - 3;
|
||
|
|
||
|
/**
|
||
|
* Responding for "403 Forbidden" or "403"
|
||
|
* Handle it as same as 404 Not found.
|
||
|
* No retry.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_FORBIDDEN = SUBSCRIBER_ERROR_CODE_START - 4;
|
||
|
|
||
|
/**
|
||
|
* Responding for 404 (target number)
|
||
|
* No retry.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_NOT_FOUND = SUBSCRIBER_ERROR_CODE_START - 5;
|
||
|
|
||
|
/**
|
||
|
* Responding for 413 - Too Large. Top app need shrink the size
|
||
|
* of request contact list and resend the request
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_TOO_LARGE = SUBSCRIBER_ERROR_CODE_START - 6;
|
||
|
|
||
|
/**
|
||
|
* All subscribe errors not covered by specific errors
|
||
|
* Other 4xx/5xx/6xx
|
||
|
*
|
||
|
* Device shall not retry
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_GENIRIC_FAILURE = SUBSCRIBER_ERROR_CODE_START - 7;
|
||
|
|
||
|
/**
|
||
|
* Invalid parameter - The caller should check the parameter.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_INVALID_PARAM = SUBSCRIBER_ERROR_CODE_START - 8;
|
||
|
|
||
|
/**
|
||
|
* Fetch error - The RCS statck failed to fetch the presence information.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_FETCH_ERROR = SUBSCRIBER_ERROR_CODE_START - 9;
|
||
|
|
||
|
/**
|
||
|
* Request timeout - The RCS statck returns timeout error.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_REQUEST_TIMEOUT = SUBSCRIBER_ERROR_CODE_START - 10;
|
||
|
|
||
|
/**
|
||
|
* Insufficient memory - The RCS statck returns the insufficient memory error.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_INSUFFICIENT_MEMORY = SUBSCRIBER_ERROR_CODE_START - 11;
|
||
|
|
||
|
/**
|
||
|
* Lost network error - The RCS statck returns the lost network error.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_LOST_NETWORK = SUBSCRIBER_ERROR_CODE_START - 12;
|
||
|
|
||
|
/**
|
||
|
* Not supported error - The RCS statck returns the not supported error.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_NOT_SUPPORTED = SUBSCRIBER_ERROR_CODE_START - 13;
|
||
|
|
||
|
/**
|
||
|
* Generic error - RCS Presence stack returns generic error
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_GENERIC = SUBSCRIBER_ERROR_CODE_START - 14;
|
||
|
|
||
|
/**
|
||
|
* There is a request for the same number in queue.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_ALREADY_IN_QUEUE = SUBSCRIBER_ERROR_CODE_START - 16;
|
||
|
|
||
|
/**
|
||
|
* Request too frequently.
|
||
|
*/
|
||
|
public static final int SUBSCRIBE_TOO_FREQUENTLY = SUBSCRIBER_ERROR_CODE_START - 17;
|
||
|
|
||
|
/**
|
||
|
* The last Subscriber error code
|
||
|
*/
|
||
|
public static final int SUBSCRIBER_ERROR_CODE_END = SUBSCRIBER_ERROR_CODE_START - 17;
|
||
|
|
||
|
/**
|
||
|
* All publish errors not covered by specific errors
|
||
|
*/
|
||
|
public static final int PUBLISH_GENERIC_FAILURE = ResultCode.SUBSCRIBER_ERROR_CODE_END - 1;
|
||
|
|
||
|
/**
|
||
|
* Responding for 403 - not authorized
|
||
|
*/
|
||
|
public static final int PUBLISH_NOT_AUTHORIZED_FOR_PRESENCE
|
||
|
= ResultCode.SUBSCRIBER_ERROR_CODE_END - 2;
|
||
|
|
||
|
/**
|
||
|
* Responding for 404 error code. The subscriber is not provisioned.
|
||
|
* The Client should not send any EAB traffic after get this error.
|
||
|
*/
|
||
|
public static final int PUBLISH_NOT_PROVISIONED = ResultCode.SUBSCRIBER_ERROR_CODE_END - 3;
|
||
|
|
||
|
public static final int PUBLISH_NOT_REGISTERED = ResultCode.SUBSCRIBER_ERROR_CODE_END - 4;
|
||
|
|
||
|
public static final int PUBLISH_FORBIDDEN = ResultCode.SUBSCRIBER_ERROR_CODE_END - 5;
|
||
|
|
||
|
public static final int PUBLISH_NOT_FOUND = ResultCode.SUBSCRIBER_ERROR_CODE_END - 6;
|
||
|
|
||
|
public static final int PUBLISH_REQUEST_TIMEOUT = ResultCode.SUBSCRIBER_ERROR_CODE_END - 7;
|
||
|
|
||
|
public static final int PUBLISH_TOO_LARGE = ResultCode.SUBSCRIBER_ERROR_CODE_END - 8;
|
||
|
|
||
|
public static final int PUBLISH_TOO_SHORT = ResultCode.SUBSCRIBER_ERROR_CODE_END - 9;
|
||
|
|
||
|
public static final int PUBLISH_TEMPORARY_ERROR = ResultCode.SUBSCRIBER_ERROR_CODE_END - 10;
|
||
|
}
|