tree ac23149457b50acbfb0448e844ec80577f5480fb
parent 501fc972ed07c56eceb1309dbee6bc84dbf4c1c1
author Hemant Gupta <hemantg@codeaurora.org> 1431503358 +0530
committer Andre Eisenbach <eisenbach@google.com> 1431649275 -0700

MAPC: Fix following issues in map client code

  - Fix NPE for ObexTime and dateTimeformat.
      Handle possible NullPointerException while accessing
      map client ObexTime constructor utility.

      Send all parameters event, status and notification state to
      Test Client for setNotifcationRegistration event both success
      and failure case.

   - Fix GetMessagelisting Request for maxlistcount value 0.

      Include maxlistcount for value 0 in application parameters header
      while composing obex GetMessageListing Request to MAP Server.

   - Add maxListCount param in getfolderlisting.

      A special case, where MCE APP send the folderlisting
      with maxlistcount=0, startoffset=5, As DUT(MCE role)
      does not include maxListcount param in folderlsiting,
      when it's value set to 0 by MCE APP. So as per the spec,
      MSE assume  maxListCount = 1024 for folderlsiting & MSE
      response as the bad request, when startoffset is Out of
      range. Adding MaxListCount in folderListing to
      solve this issue, when it's value set to 0.

   - Handle exception for incorrect length value from MSE

      Handle possible exception while parsing GET Message response
      with incorrect LENGTH value fetched from MSE.

   - Include ParameterMask Header in GET only when specified.

      Include ParmaterMask in GET MessageLising Request only when
      specific values are selected from TestClient.
      ParameterMask is not a mandatory feild as per MAP1.1 Spec.
      excluding ParameterMask for default or value '0' fix MSE IOT
      issues that doesnot support ParameterMask Header.

Change-Id: I1bee3f512f877974bb8fd63f3b27dc3ce3ff8a13
