Package com.castlabs.android.drm
Class DrmTodayException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- com.castlabs.android.drm.DrmTodayException
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DrmException
public class DrmTodayException extends Exception
Use this Exception class to report any errors from DrmToday services. The exception is initialized with an error code which is one of:ERROR_NOT_AUTHORIZED,ERROR_INVALID_REQUEST,ERROR_KEY_NOT_FOUND,ERROR_PROVISIONING_FAILED,ERROR_TOO_MANY_CONCURRENT_SESSIONS, orERROR_UNKNOWN.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceDrmTodayException.ErrorCode
-
Field Summary
Fields Modifier and Type Field Description static intERROR_DEVICE_TIMEA device time error occurredstatic intERROR_INVALID_REQUESTError indicating an invalid request that was rejected by the serverstatic intERROR_IO_ERRORError indicating that an IO error occurred during the license request.static intERROR_KEY_NOT_FOUNDError indicating that the requested content was not foundstatic intERROR_NOT_AUTHORIZEDError indicating an unauthorized requeststatic intERROR_PROVISIONING_FAILEDError indicating that the provisioning request failed.static intERROR_TOO_MANY_CONCURRENT_SESSIONSError raised when DRMtoday refuses license renewal due to too many open sessionsstatic intERROR_UNKNOWNError indicating a general errorstatic intERROR_WIDEVINE_DEV_CERTIFICATE_REVOKEDA device's Widevine certificate was revoked
-
Constructor Summary
Constructors Constructor Description DrmTodayException(String message, int errorCode)Create a new instance with the given message and error errorCodeDrmTodayException(String message, int errorCode, String customMessage)Create a new instance with the given message and error errorCodeDrmTodayException(String message, int errorCode, String customMessage, String customCode, Throwable cause)DrmTodayException(String message, int errorCode, Throwable cause)Create a new instance with the given message and error errorCode
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DrmTodayExceptioncreate(DrmUtils.HttpExecutorException httpException)Looks at the response code, the response body, and the headers and returns a DRMtoday Exception that maps to the given error.StringgetCustomCode()StringgetCustomMessage()intgetErrorCode()StringtoString()-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
-
-
-
Field Detail
-
ERROR_UNKNOWN
public static final int ERROR_UNKNOWN
Error indicating a general error- See Also:
- Constant Field Values
-
ERROR_INVALID_REQUEST
public static final int ERROR_INVALID_REQUEST
Error indicating an invalid request that was rejected by the server- See Also:
- Constant Field Values
-
ERROR_NOT_AUTHORIZED
public static final int ERROR_NOT_AUTHORIZED
Error indicating an unauthorized request- See Also:
- Constant Field Values
-
ERROR_KEY_NOT_FOUND
public static final int ERROR_KEY_NOT_FOUND
Error indicating that the requested content was not found- See Also:
- Constant Field Values
-
ERROR_IO_ERROR
public static final int ERROR_IO_ERROR
Error indicating that an IO error occurred during the license request. This cause of this exception will be anIOException- See Also:
- Constant Field Values
-
ERROR_PROVISIONING_FAILED
public static final int ERROR_PROVISIONING_FAILED
Error indicating that the provisioning request failed. Error of this type can also have anIOExceptionas cause.- See Also:
- Constant Field Values
-
ERROR_TOO_MANY_CONCURRENT_SESSIONS
public static final int ERROR_TOO_MANY_CONCURRENT_SESSIONS
Error raised when DRMtoday refuses license renewal due to too many open sessions- See Also:
- Constant Field Values
-
ERROR_DEVICE_TIME
public static final int ERROR_DEVICE_TIME
A device time error occurred- See Also:
- Constant Field Values
-
ERROR_WIDEVINE_DEV_CERTIFICATE_REVOKED
public static final int ERROR_WIDEVINE_DEV_CERTIFICATE_REVOKED
A device's Widevine certificate was revoked- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DrmTodayException
public DrmTodayException(@NonNull String message, int errorCode)Create a new instance with the given message and error errorCode- Parameters:
message- the error messageerrorCode- the error errorCode
-
DrmTodayException
public DrmTodayException(@NonNull String message, int errorCode, @Nullable String customMessage)Create a new instance with the given message and error errorCode- Parameters:
message- the error messageerrorCode- the error errorCodecustomMessage- the custom message
-
DrmTodayException
public DrmTodayException(@NonNull String message, int errorCode, Throwable cause)Create a new instance with the given message and error errorCode- Parameters:
message- the error messageerrorCode- the error errorCodecause- the cause
-
-
Method Detail
-
getErrorCode
public int getErrorCode()
- Returns:
- The error code. One of
ERROR_NOT_AUTHORIZED,ERROR_INVALID_REQUEST,ERROR_UNKNOWN,ERROR_TOO_MANY_CONCURRENT_SESSIONS, orERROR_KEY_NOT_FOUND
-
getCustomMessage
@Nullable public String getCustomMessage()
- Returns:
- The custom CRT error message or null
-
getCustomCode
@Nullable public String getCustomCode()
- Returns:
- DrmToday response code string
-
create
@NonNull public static DrmTodayException create(@NonNull DrmUtils.HttpExecutorException httpException)
Looks at the response code, the response body, and the headers and returns a DRMtoday Exception that maps to the given error.- Parameters:
httpException- The HTTP exception- Returns:
- The DrmTodayException
-
-