Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69415f7c authored by Hemant Gupta's avatar Hemant Gupta
Browse files

PBAP: Add filter support for Owner contact

Use case:
1. Add the user account which has contacts with Photos,
   Make sure owner vCard has photo added.
2. Run PTS (TC_PSE_PBB_BV_31_C & TC_PSE_PBD_BV_36_C).

Result:
User account related test cases getting failed.

Root Cause:
While retrieving vcard, filter support for owner vcard was missing.

Fix:
Filter Owner contact fields as per filter attribute request
from PBAP client before sending owner vcard.

Test: test cases passes with above change
Fixes: 70604167
Change-Id: If737b86854d4a15673b29cc5dcfb0338dc663c55
parent 2935473e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1202,7 +1202,8 @@ public class BluetoothPbapObexServer extends ServerRequestHandler {
                return ResponseCodes.OBEX_HTTP_NOT_FOUND;
            } else if (intIndex == 0) {
                // For PB_PATH, 0.vcf is the phone number of this phone.
                String ownerVcard = mVcardManager.getOwnerPhoneNumberVcard(vcard21, null);
                String ownerVcard = mVcardManager.getOwnerPhoneNumberVcard(vcard21,
                        appParamValue.ignorefilter ? null : appParamValue.propertySelector);
                return pushBytes(op, ownerVcard);
            } else {
                return mVcardManager.composeAndSendPhonebookOneVcard(op, intIndex, vcard21, null,
@@ -1280,7 +1281,8 @@ public class BluetoothPbapObexServer extends ServerRequestHandler {
        boolean vcard21 = appParamValue.vcard21;
        if (appParamValue.needTag == BluetoothPbapObexServer.ContentType.PHONEBOOK) {
            if (startPoint == 0) {
                String ownerVcard = mVcardManager.getOwnerPhoneNumberVcard(vcard21, null);
                String ownerVcard = mVcardManager.getOwnerPhoneNumberVcard(vcard21,
                        appParamValue.ignorefilter ? null : appParamValue.propertySelector);
                if (endPoint == 0) {
                    return pushBytes(op, ownerVcard);
                } else {