FileDocCategorySizeDatePackage
BluetoothMasRequestGetMessagesListing.javaAPI DocAndroid 5.1 API4682Thu Mar 12 22:22:50 GMT 2015android.bluetooth.client.map

BluetoothMasRequestGetMessagesListing

public final class BluetoothMasRequestGetMessagesListing extends BluetoothMasRequest

Fields Summary
private static final String
TYPE
private BluetoothMapMessagesListing
mResponse
private boolean
mNewMessage
private Date
mServerTime
Constructors Summary
public BluetoothMasRequestGetMessagesListing(String folderName, int parameters, android.bluetooth.client.map.BluetoothMasClient.MessagesFilter filter, int subjectLength, int maxListCount, int listStartOffset)


        
                 
              

        if (subjectLength < 0 || subjectLength > 255) {
            throw new IllegalArgumentException("subjectLength should be [0..255]");
        }

        if (maxListCount < 0 || maxListCount > 65535) {
            throw new IllegalArgumentException("maxListCount should be [0..65535]");
        }

        if (listStartOffset < 0 || listStartOffset > 65535) {
            throw new IllegalArgumentException("listStartOffset should be [0..65535]");
        }

        mHeaderSet.setHeader(HeaderSet.TYPE, TYPE);

        if (folderName == null) {
            mHeaderSet.setHeader(HeaderSet.NAME, "");
        } else {
            mHeaderSet.setHeader(HeaderSet.NAME, folderName);
        }

        ObexAppParameters oap = new ObexAppParameters();

        if (filter != null) {
            if (filter.messageType != MessagesFilter.MESSAGE_TYPE_ALL) {
                oap.add(OAP_TAGID_FILTER_MESSAGE_TYPE, filter.messageType);
            }

            if (filter.periodBegin != null) {
                oap.add(OAP_TAGID_FILTER_PERIOD_BEGIN, filter.periodBegin);
            }

            if (filter.periodEnd != null) {
                oap.add(OAP_TAGID_FILTER_PERIOD_END, filter.periodEnd);
            }

            if (filter.readStatus != MessagesFilter.READ_STATUS_ANY) {
                oap.add(OAP_TAGID_FILTER_READ_STATUS, filter.readStatus);
            }

            if (filter.recipient != null) {
                oap.add(OAP_TAGID_FILTER_RECIPIENT, filter.recipient);
            }

            if (filter.originator != null) {
                oap.add(OAP_TAGID_FILTER_ORIGINATOR, filter.originator);
            }

            if (filter.priority != MessagesFilter.PRIORITY_ANY) {
                oap.add(OAP_TAGID_FILTER_PRIORITY, filter.priority);
            }
        }

        if (subjectLength != 0) {
            oap.add(OAP_TAGID_SUBJECT_LENGTH, (byte) subjectLength);
        }

        if (maxListCount != 0) {
            oap.add(OAP_TAGID_MAX_LIST_COUNT, (short) maxListCount);
        }

        if (listStartOffset != 0) {
            oap.add(OAP_TAGID_START_OFFSET, (short) listStartOffset);
        }

        oap.addToHeaderSet(mHeaderSet);
    
Methods Summary
public voidexecute(javax.obex.ClientSession session)

        executeGet(session);
    
public java.util.ArrayListgetList()

        if (mResponse == null) {
            return null;
        }

        return mResponse.getList();
    
public java.util.DategetMseTime()

        return mServerTime;
    
public booleangetNewMessageStatus()

        return mNewMessage;
    
protected voidreadResponse(java.io.InputStream stream)

        mResponse = new BluetoothMapMessagesListing(stream);
    
protected voidreadResponseHeaders(javax.obex.HeaderSet headerset)

        ObexAppParameters oap = ObexAppParameters.fromHeaderSet(headerset);

        mNewMessage = ((oap.getByte(OAP_TAGID_NEW_MESSAGE) & 0x01) == 1);

        if (oap.exists(OAP_TAGID_MSE_TIME)) {
            String mseTime = oap.getString(OAP_TAGID_MSE_TIME);

            mServerTime = (new ObexTime(mseTime)).getTime();
        }