blob: 37ccfb9c9b9bc47267008a1bf45c290b61775fbb [file] [log] [blame]
Amit Mahajan82f245f2019-09-10 13:19:05 -07001/*
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
18package com.google.android.mms.pdu;
19
Artur Satayev53ada2a2019-12-10 17:47:56 +000020import android.compat.annotation.UnsupportedAppUsage;
Amit Mahajan82f245f2019-09-10 13:19:05 -070021
22import com.google.android.mms.InvalidHeaderValueException;
23
24public class ReadRecInd extends GenericPdu {
25 /**
26 * Constructor, used when composing a M-ReadRec.ind pdu.
27 *
28 * @param from the from value
29 * @param messageId the message ID value
30 * @param mmsVersion current viersion of mms
31 * @param readStatus the read status value
32 * @param to the to value
33 * @throws InvalidHeaderValueException if parameters are invalid.
34 * NullPointerException if messageId or to is null.
35 */
36 @UnsupportedAppUsage
37 public ReadRecInd(EncodedStringValue from,
38 byte[] messageId,
39 int mmsVersion,
40 int readStatus,
41 EncodedStringValue[] to) throws InvalidHeaderValueException {
42 super();
43 setMessageType(PduHeaders.MESSAGE_TYPE_READ_REC_IND);
44 setFrom(from);
45 setMessageId(messageId);
46 setMmsVersion(mmsVersion);
47 setTo(to);
48 setReadStatus(readStatus);
49 }
50
51 /**
52 * Constructor with given headers.
53 *
54 * @param headers Headers for this PDU.
55 */
56 @UnsupportedAppUsage
57 ReadRecInd(PduHeaders headers) {
58 super(headers);
59 }
60
61 /**
62 * Get Date value.
63 *
64 * @return the value
65 */
66 public long getDate() {
67 return mPduHeaders.getLongInteger(PduHeaders.DATE);
68 }
69
70 /**
71 * Set Date value.
72 *
73 * @param value the value
74 */
75 @UnsupportedAppUsage
76 public void setDate(long value) {
77 mPduHeaders.setLongInteger(value, PduHeaders.DATE);
78 }
79
80 /**
81 * Get Message-ID value.
82 *
83 * @return the value
84 */
85 @UnsupportedAppUsage
86 public byte[] getMessageId() {
87 return mPduHeaders.getTextString(PduHeaders.MESSAGE_ID);
88 }
89
90 /**
91 * Set Message-ID value.
92 *
93 * @param value the value
94 * @throws NullPointerException if the value is null.
95 */
96 public void setMessageId(byte[] value) {
97 mPduHeaders.setTextString(value, PduHeaders.MESSAGE_ID);
98 }
99
100 /**
101 * Get To value.
102 *
103 * @return the value
104 */
105 public EncodedStringValue[] getTo() {
106 return mPduHeaders.getEncodedStringValues(PduHeaders.TO);
107 }
108
109 /**
110 * Set To value.
111 *
112 * @param value the value
113 * @throws NullPointerException if the value is null.
114 */
115 public void setTo(EncodedStringValue[] value) {
116 mPduHeaders.setEncodedStringValues(value, PduHeaders.TO);
117 }
118
119 /**
120 * Get X-MMS-Read-status value.
121 *
122 * @return the value
123 */
124 public int getReadStatus() {
125 return mPduHeaders.getOctet(PduHeaders.READ_STATUS);
126 }
127
128 /**
129 * Set X-MMS-Read-status value.
130 *
131 * @param value the value
132 * @throws InvalidHeaderValueException if the value is invalid.
133 */
134 public void setReadStatus(int value) throws InvalidHeaderValueException {
135 mPduHeaders.setOctet(value, PduHeaders.READ_STATUS);
136 }
137
138 /*
139 * Optional, not supported header fields:
140 *
141 * public byte[] getApplicId() {return null;}
142 * public void setApplicId(byte[] value) {}
143 *
144 * public byte[] getAuxApplicId() {return null;}
145 * public void getAuxApplicId(byte[] value) {}
146 *
147 * public byte[] getReplyApplicId() {return 0x00;}
148 * public void setReplyApplicId(byte[] value) {}
149 */
150}