1c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen/*
2c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * Copyright (C) 2014 The Android Open Source Project
3c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen *
4c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * Licensed under the Apache License, Version 2.0 (the "License");
5c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * you may not use this file except in compliance with the License.
6c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * You may obtain a copy of the License at
7c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen *
8c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen *      http://www.apache.org/licenses/LICENSE-2.0
9c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen *
10c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * Unless required by applicable law or agreed to in writing, software
11c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * distributed under the License is distributed on an "AS IS" BASIS,
12c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * See the License for the specific language governing permissions and
14c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * limitations under the License.
15c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen */
16c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
17c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wenpackage com.android.mms.service.exception;
18c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
19c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen/**
20c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen * HTTP exception
21c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen */
22c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wenpublic class MmsHttpException extends Exception {
23848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    // Optional HTTP status code. 0 means ignore. Otherwise this
24848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    // should be a valid HTTP status code.
25848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    private final int mStatusCode;
26c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
27848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    public MmsHttpException(int statusCode) {
28c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen        super();
29848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen        mStatusCode = statusCode;
30c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen    }
31c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
32848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    public MmsHttpException(int statusCode, String message) {
33c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen        super(message);
34848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen        mStatusCode = statusCode;
35c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen    }
36c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
37848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    public MmsHttpException(int statusCode, Throwable cause) {
38c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen        super(cause);
39848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen        mStatusCode = statusCode;
40c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen    }
41c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen
42848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    public MmsHttpException(int statusCode, String message, Throwable cause) {
43c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen        super(message, cause);
44848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen        mStatusCode = statusCode;
45848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    }
46848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen
47848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen    public int getStatusCode() {
48848307f23f9b744ad538c23ef2e3b1a98e3bc635Ye Wen        return mStatusCode;
49c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen    }
50c91cc9d4a5aa12a570a3b35a12b3e34a6a9eeb51Ye Wen}
51