• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 Esmertec AG.
3  * Copyright (C) 2007 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 package androidx.appcompat.mms.pdu;
19 
20 /**
21  * Multimedia message PDU.
22  */
23 public class MultimediaMessagePdu extends GenericPdu{
24     /**
25      * The body.
26      */
27     private PduBody mMessageBody;
28 
29     /**
30      * Constructor.
31      */
MultimediaMessagePdu()32     public MultimediaMessagePdu() {
33         super();
34     }
35 
36     /**
37      * Constructor.
38      *
39      * @param header the header of this PDU
40      * @param body the body of this PDU
41      */
MultimediaMessagePdu(PduHeaders header, PduBody body)42     public MultimediaMessagePdu(PduHeaders header, PduBody body) {
43         super(header);
44         mMessageBody = body;
45     }
46 
47     /**
48      * Constructor with given headers.
49      *
50      * @param headers Headers for this PDU.
51      */
MultimediaMessagePdu(PduHeaders headers)52     MultimediaMessagePdu(PduHeaders headers) {
53         super(headers);
54     }
55 
56     /**
57      * Get body of the PDU.
58      *
59      * @return the body
60      */
getBody()61     public PduBody getBody() {
62         return mMessageBody;
63     }
64 
65     /**
66      * Set body of the PDU.
67      *
68      * @param body the body
69      */
setBody(PduBody body)70     public void setBody(PduBody body) {
71         mMessageBody = body;
72     }
73 
74     /**
75      * Get subject.
76      *
77      * @return the value
78      */
getSubject()79     public EncodedStringValue getSubject() {
80         return mPduHeaders.getEncodedStringValue(PduHeaders.SUBJECT);
81     }
82 
83     /**
84      * Set subject.
85      *
86      * @param value the value
87      * @throws NullPointerException if the value is null.
88      */
setSubject(EncodedStringValue value)89     public void setSubject(EncodedStringValue value) {
90         mPduHeaders.setEncodedStringValue(value, PduHeaders.SUBJECT);
91     }
92 
93     /**
94      * Get To value.
95      *
96      * @return the value
97      */
getTo()98     public EncodedStringValue[] getTo() {
99         return mPduHeaders.getEncodedStringValues(PduHeaders.TO);
100     }
101 
102     /**
103      * Add a "To" value.
104      *
105      * @param value the value
106      * @throws NullPointerException if the value is null.
107      */
addTo(EncodedStringValue value)108     public void addTo(EncodedStringValue value) {
109         mPduHeaders.appendEncodedStringValue(value, PduHeaders.TO);
110     }
111 
112     /**
113      * Get X-Mms-Priority value.
114      *
115      * @return the value
116      */
getPriority()117     public int getPriority() {
118         return mPduHeaders.getOctet(PduHeaders.PRIORITY);
119     }
120 
121     /**
122      * Set X-Mms-Priority value.
123      *
124      * @param value the value
125      * @throws InvalidHeaderValueException if the value is invalid.
126      */
setPriority(int value)127     public void setPriority(int value) throws InvalidHeaderValueException {
128         mPduHeaders.setOctet(value, PduHeaders.PRIORITY);
129     }
130 
131     /**
132      * Get Date value.
133      *
134      * @return the value
135      */
getDate()136     public long getDate() {
137         return mPduHeaders.getLongInteger(PduHeaders.DATE);
138     }
139 
140     /**
141      * Set Date value in seconds.
142      *
143      * @param value the value
144      */
setDate(long value)145     public void setDate(long value) {
146         mPduHeaders.setLongInteger(value, PduHeaders.DATE);
147     }
148 }
149