1192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta/* 2192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * Copyright (C) 2014 The Android Open Source Project 3192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * 4192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * Licensed under the Apache License, Version 2.0 (the "License"); 5192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * you may not use this file except in compliance with the License. 6192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * You may obtain a copy of the License at 7192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * 8192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * http://www.apache.org/licenses/LICENSE-2.0 9192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * 10192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * Unless required by applicable law or agreed to in writing, software 11192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * distributed under the License is distributed on an "AS IS" BASIS, 12192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * See the License for the specific language governing permissions and 14192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * limitations under the License. 15192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 16192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 17192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptapackage android.bluetooth.client.map; 18192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport android.bluetooth.client.map.utils.ObexTime; 19192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 20192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport org.json.JSONException; 21192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport org.json.JSONObject; 22192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 23192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport java.math.BigInteger; 24192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport java.util.Date; 25192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptaimport java.util.HashMap; 26192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 27192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta/** 28192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * Object representation of message received in messages listing 29192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * <p> 30192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * This object will be received in 31192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * {@link BluetoothMasClient#EVENT_GET_MESSAGES_LISTING} callback message. 32192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 33192d793d2586b620027edd5b45ff4c72a86cc7beHemant Guptapublic class BluetoothMapMessage { 34192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 35192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mHandle; 36192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 37192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mSubject; 38192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 39192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final Date mDateTime; 40192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 41192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mSenderName; 42192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 43192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mSenderAddressing; 44192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 45192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mReplytoAddressing; 46192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 47192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mRecipientName; 48192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 49192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final String mRecipientAddressing; 50192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 51192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final Type mType; 52192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 53192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final int mSize; 54192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 55192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final boolean mText; 56192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 57192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final ReceptionStatus mReceptionStatus; 58192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 59192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final int mAttachmentSize; 60192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 61192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final boolean mPriority; 62192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 63192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final boolean mRead; 64192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 65192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final boolean mSent; 66192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 67192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private final boolean mProtected; 68192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 69192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public enum Type { 70192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta UNKNOWN, EMAIL, SMS_GSM, SMS_CDMA, MMS 71192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta }; 72192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 73192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public enum ReceptionStatus { 74192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta UNKNOWN, COMPLETE, FRACTIONED, NOTIFICATION 75192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 76192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 77192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta BluetoothMapMessage(HashMap<String, String> attrs) throws IllegalArgumentException { 78192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta int size; 79192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 80192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 81192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /* just to validate */ 82192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta new BigInteger(attrs.get("handle"), 16); 83192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 84192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mHandle = attrs.get("handle"); 85192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (NumberFormatException e) { 86192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /* 87192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * handle MUST have proper value, if it does not then throw 88192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * something here 89192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 90192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta throw new IllegalArgumentException(e); 91192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 92192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 93192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSubject = attrs.get("subject"); 94192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 95192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mDateTime = (new ObexTime(attrs.get("datetime"))).getTime(); 96192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 97192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSenderName = attrs.get("sender_name"); 98192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 99192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSenderAddressing = attrs.get("sender_addressing"); 100192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 101192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mReplytoAddressing = attrs.get("replyto_addressing"); 102192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 103192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRecipientName = attrs.get("recipient_name"); 104192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 105192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRecipientAddressing = attrs.get("recipient_addressing"); 106192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 107192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mType = strToType(attrs.get("type")); 108192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 109192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 110192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = Integer.parseInt(attrs.get("size")); 111192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (NumberFormatException e) { 112192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = 0; 113192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 114192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 115192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSize = size; 116192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 117192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mText = yesnoToBoolean(attrs.get("text")); 118192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 119192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mReceptionStatus = strToReceptionStatus(attrs.get("reception_status")); 120192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 121192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 122192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = Integer.parseInt(attrs.get("attachment_size")); 123192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (NumberFormatException e) { 124192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = 0; 125192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 126192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 127192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mAttachmentSize = size; 128192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 129192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mPriority = yesnoToBoolean(attrs.get("priority")); 130192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 131192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRead = yesnoToBoolean(attrs.get("read")); 132192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 133192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSent = yesnoToBoolean(attrs.get("sent")); 134192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 135192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mProtected = yesnoToBoolean(attrs.get("protected")); 136192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 137192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 138192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private boolean yesnoToBoolean(String yesno) { 139192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return "yes".equals(yesno); 140192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 141192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 142192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private Type strToType(String s) { 143192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta if ("EMAIL".equals(s)) { 144192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.EMAIL; 145192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("SMS_GSM".equals(s)) { 146192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.SMS_GSM; 147192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("SMS_CDMA".equals(s)) { 148192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.SMS_CDMA; 149192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("MMS".equals(s)) { 150192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.MMS; 151192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 152192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 153192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.UNKNOWN; 154192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 155192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 156192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private ReceptionStatus strToReceptionStatus(String s) { 157192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta if ("complete".equals(s)) { 158192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.COMPLETE; 159192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("fractioned".equals(s)) { 160192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.FRACTIONED; 161192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("notification".equals(s)) { 162192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.NOTIFICATION; 163192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 164192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 165192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.UNKNOWN; 166192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 167192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 168192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta @Override 169192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String toString() { 170192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta JSONObject json = new JSONObject(); 171192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 172192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 173192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("handle", mHandle); 174192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("subject", mSubject); 175192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("datetime", mDateTime); 176192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sender_name", mSenderName); 177192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sender_addressing", mSenderAddressing); 178192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("replyto_addressing", mReplytoAddressing); 179192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("recipient_name", mRecipientName); 180192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("recipient_addressing", mRecipientAddressing); 181192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("type", mType); 182192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("size", mSize); 183192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("text", mText); 184192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("reception_status", mReceptionStatus); 185192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("attachment_size", mAttachmentSize); 186192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("priority", mPriority); 187192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("read", mRead); 188192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sent", mSent); 189192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("protected", mProtected); 190192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (JSONException e) { 191192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta // do nothing 192192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 193192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 194192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return json.toString(); 195192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 196192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 197192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 198192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>handle</code> parameter in MAP 199192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 200192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 201192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getHandle() { 202192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mHandle; 203192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 204192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 205192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 206192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>subject</code> parameter in MAP 207192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 208192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 209192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSubject() { 210192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSubject; 211192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 212192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 213192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 214192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return <code>Date</code> object corresponding to <code>datetime</code> 215192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * parameter in MAP specification 216192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 217192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public Date getDateTime() { 218192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mDateTime; 219192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 220192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 221192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 222192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sender_name</code> parameter in MAP 223192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 224192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 225192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSenderName() { 226192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSenderName; 227192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 228192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 229192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 230192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sender_addressing</code> parameter 231192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 232192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 233192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSenderAddressing() { 234192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSenderAddressing; 235192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 236192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 237192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 238192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>replyto_addressing</code> parameter 239192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 240192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 241192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getReplytoAddressing() { 242192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mReplytoAddressing; 243192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 244192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 245192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 246192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>recipient_name</code> parameter in 247192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * MAP specification 248192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 249192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getRecipientName() { 250192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRecipientName; 251192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 252192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 253192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 254192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>recipient_addressing</code> 255192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * parameter in MAP specification 256192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 257192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getRecipientAddressing() { 258192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRecipientAddressing; 259192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 260192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 261192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 262192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return {@link Type} object corresponding to <code>type</code> parameter 263192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 264192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 265192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public Type getType() { 266192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mType; 267192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 268192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 269192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 270192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>size</code> parameter in MAP 271192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 272192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 273192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public int getSize() { 274192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSize; 275192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 276192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 277192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 278192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return {@link .ReceptionStatus} object corresponding to 279192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * <code>reception_status</code> parameter in MAP specification 280192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 281192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public ReceptionStatus getReceptionStatus() { 282192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mReceptionStatus; 283192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 284192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 285192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 286192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>attachment_size</code> parameter in 287192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * MAP specification 288192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 289192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public int getAttachmentSize() { 290192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mAttachmentSize; 291192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 292192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 293192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 294192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>text</code> parameter in MAP 295192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 296192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 297192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isText() { 298192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mText; 299192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 300192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 301192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 302192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>priority</code> parameter in MAP 303192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 304192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 305192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isPriority() { 306192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mPriority; 307192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 308192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 309192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 310192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>read</code> parameter in MAP 311192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 312192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 313192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isRead() { 314192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRead; 315192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 316192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 317192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 318192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sent</code> parameter in MAP 319192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 320192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 321192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isSent() { 322192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSent; 323192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 324192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 325192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 326192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>protected</code> parameter in MAP 327192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 328192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 329192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isProtected() { 330192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mProtected; 331192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 332192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta} 333