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"); 944231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta String dateTime = attrs.get("datetime"); 954231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta //Handle possible NPE when not able to retreive datetime attribute 964231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta if(dateTime != null){ 974231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta mDateTime = (new ObexTime(dateTime)).getTime(); 984231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta } else { 994231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta mDateTime = null; 1004231be1e03b7c5e563fea1fa7c56abfe2a1e61ddHemant Gupta } 101192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 102192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 103192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSenderName = attrs.get("sender_name"); 104192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 105192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSenderAddressing = attrs.get("sender_addressing"); 106192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 107192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mReplytoAddressing = attrs.get("replyto_addressing"); 108192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 109192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRecipientName = attrs.get("recipient_name"); 110192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 111192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRecipientAddressing = attrs.get("recipient_addressing"); 112192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 113192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mType = strToType(attrs.get("type")); 114192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 115192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 116192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = Integer.parseInt(attrs.get("size")); 117192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (NumberFormatException e) { 118192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = 0; 119192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 120192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 121192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSize = size; 122192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 123192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mText = yesnoToBoolean(attrs.get("text")); 124192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 125192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mReceptionStatus = strToReceptionStatus(attrs.get("reception_status")); 126192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 127192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 128192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = Integer.parseInt(attrs.get("attachment_size")); 129192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (NumberFormatException e) { 130192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta size = 0; 131192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 132192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 133192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mAttachmentSize = size; 134192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 135192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mPriority = yesnoToBoolean(attrs.get("priority")); 136192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 137192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mRead = yesnoToBoolean(attrs.get("read")); 138192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 139192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mSent = yesnoToBoolean(attrs.get("sent")); 140192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 141192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta mProtected = yesnoToBoolean(attrs.get("protected")); 142192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 143192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 144192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private boolean yesnoToBoolean(String yesno) { 145192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return "yes".equals(yesno); 146192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 147192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 148192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private Type strToType(String s) { 149192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta if ("EMAIL".equals(s)) { 150192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.EMAIL; 151192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("SMS_GSM".equals(s)) { 152192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.SMS_GSM; 153192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("SMS_CDMA".equals(s)) { 154192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.SMS_CDMA; 155192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("MMS".equals(s)) { 156192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.MMS; 157192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 158192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 159192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return Type.UNKNOWN; 160192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 161192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 162192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta private ReceptionStatus strToReceptionStatus(String s) { 163192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta if ("complete".equals(s)) { 164192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.COMPLETE; 165192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("fractioned".equals(s)) { 166192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.FRACTIONED; 167192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } else if ("notification".equals(s)) { 168192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.NOTIFICATION; 169192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 170192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 171192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return ReceptionStatus.UNKNOWN; 172192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 173192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 174192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta @Override 175192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String toString() { 176192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta JSONObject json = new JSONObject(); 177192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 178192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta try { 179192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("handle", mHandle); 180192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("subject", mSubject); 181192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("datetime", mDateTime); 182192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sender_name", mSenderName); 183192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sender_addressing", mSenderAddressing); 184192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("replyto_addressing", mReplytoAddressing); 185192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("recipient_name", mRecipientName); 186192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("recipient_addressing", mRecipientAddressing); 187192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("type", mType); 188192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("size", mSize); 189192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("text", mText); 190192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("reception_status", mReceptionStatus); 191192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("attachment_size", mAttachmentSize); 192192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("priority", mPriority); 193192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("read", mRead); 194192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("sent", mSent); 195192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta json.put("protected", mProtected); 196192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } catch (JSONException e) { 197192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta // do nothing 198192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 199192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 200192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return json.toString(); 201192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 202192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 203192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 204192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>handle</code> parameter in MAP 205192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 206192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 207192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getHandle() { 208192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mHandle; 209192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 210192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 211192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 212192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>subject</code> parameter in MAP 213192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 214192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 215192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSubject() { 216192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSubject; 217192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 218192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 219192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 220192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return <code>Date</code> object corresponding to <code>datetime</code> 221192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * parameter in MAP specification 222192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 223192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public Date getDateTime() { 224192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mDateTime; 225192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 226192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 227192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 228192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sender_name</code> parameter in MAP 229192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 230192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 231192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSenderName() { 232192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSenderName; 233192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 234192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 235192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 236192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sender_addressing</code> parameter 237192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 238192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 239192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getSenderAddressing() { 240192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSenderAddressing; 241192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 242192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 243192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 244192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>replyto_addressing</code> parameter 245192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 246192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 247192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getReplytoAddressing() { 248192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mReplytoAddressing; 249192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 250192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 251192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 252192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>recipient_name</code> parameter in 253192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * MAP specification 254192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 255192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getRecipientName() { 256192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRecipientName; 257192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 258192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 259192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 260192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>recipient_addressing</code> 261192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * parameter in MAP specification 262192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 263192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public String getRecipientAddressing() { 264192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRecipientAddressing; 265192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 266192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 267192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 268192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return {@link Type} object corresponding to <code>type</code> parameter 269192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * in MAP specification 270192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 271192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public Type getType() { 272192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mType; 273192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 274192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 275192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 276192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>size</code> parameter in MAP 277192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 278192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 279192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public int getSize() { 280192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSize; 281192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 282192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 283192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 284192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return {@link .ReceptionStatus} object corresponding to 285192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * <code>reception_status</code> parameter in MAP specification 286192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 287192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public ReceptionStatus getReceptionStatus() { 288192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mReceptionStatus; 289192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 290192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 291192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 292192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>attachment_size</code> parameter in 293192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * MAP specification 294192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 295192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public int getAttachmentSize() { 296192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mAttachmentSize; 297192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 298192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 299192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 300192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>text</code> parameter in MAP 301192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 302192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 303192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isText() { 304192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mText; 305192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 306192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 307192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 308192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>priority</code> parameter in MAP 309192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 310192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 311192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isPriority() { 312192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mPriority; 313192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 314192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 315192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 316192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>read</code> parameter in MAP 317192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 318192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 319192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isRead() { 320192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mRead; 321192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 322192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 323192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 324192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>sent</code> parameter in MAP 325192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 326192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 327192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isSent() { 328192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mSent; 329192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 330192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta 331192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta /** 332192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * @return value corresponding to <code>protected</code> parameter in MAP 333192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta * specification 334192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta */ 335192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta public boolean isProtected() { 336192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta return mProtected; 337192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta } 338192d793d2586b620027edd5b45ff4c72a86cc7beHemant Gupta} 339