Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add display name, account, and options properties to RawContactEntity #268

Closed
12 tasks done
vestrel00 opened this issue Oct 21, 2022 · 1 comment
Closed
12 tasks done
Assignees
Labels
enhancement New feature or request

Comments

@vestrel00
Copy link
Owner

vestrel00 commented Oct 21, 2022

Problem

Currently, the following fields/properties are not present in RawContactEntity;

  • DisplayNamePrimary
  • DisplayNameAlt
  • Account
    • AccountName
    • AccountType
  • Options
    • Starred
    • CustomRingtone
    • SendToVoicemail

This means that standard query APIs are not able to return any of the above data...

This was due to how the query APIs were originally implemented (conditionally skipping the RawContacts table). However, the RawContacts table is always queried. There is no longer a reason why these fields/properties should not be included in the RawContactEntity.

Solution

  • Add the aforementioned RawContact fields/properties to RawContactEntity.
  • Remove all getter extensions provided in contacts.core.util.RawContactOptions

Apply the changes to the following query APIs;

  • ⚠️ Ensure that the where clause of Data table queries do NOT contain fields that it does not have (otherwise an exception will be thrown)! In particular, the SyncColumns Account name and type are available in the RawContacts table and not the Data table. In order to do this, do not add to the DataRawContactsFields. Instead, provide another function for including RawContact table specific fields, something like fun include(vararg fields: RawContactsField): Query
  • Ensure that the aforementioned RawContact fields are included by default, when including "all" fields.
  • Query
  • BroadQuery
  • PhoneLookupQuery
  • ProfileQuery

Additionally;

  • Update sample app, if necessary
  • Update relevant documentation in code
  • Update relevant documentation in docs
  • Verify that there are no regressions for related API functions
@vestrel00 vestrel00 added enhancement New feature or request breaking change This may break integration of the library for some consumers labels Oct 21, 2022
@vestrel00 vestrel00 self-assigned this Oct 21, 2022
@vestrel00 vestrel00 pinned this issue Oct 21, 2022
@vestrel00 vestrel00 changed the title Add display name, account, and options to RawContactEntity Add display name, account, and options properties/fields to RawContactEntity Oct 21, 2022
@vestrel00 vestrel00 changed the title Add display name, account, and options properties/fields to RawContactEntity Add display name, account, and options properties to RawContactEntity Oct 21, 2022
@vestrel00 vestrel00 removed the breaking change This may break integration of the library for some consumers label Oct 24, 2022
@vestrel00 vestrel00 changed the title Add display name, account, and options properties to RawContactEntity Add display name, account, and options properties to RawContactEntity Oct 31, 2022
@vestrel00 vestrel00 changed the title Add display name, account, and options properties to RawContactEntity Add display name, account, and options properties to RawContactEntity Oct 31, 2022
@vestrel00 vestrel00 unpinned this issue Oct 31, 2022
@vestrel00
Copy link
Owner Author

This is included in 0.3.0!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant