Added thin object layer around contact data
This refactoring abstracts out the need to directly refer to Contacts database columns throughout the code. Instead, all of this information is retained in getter/setter methods within the Contact, RawContact, and DataItem classes and sub-classes. ContactLoader.Result class has been pulled to the top level as the Contact class. The Entity class has been removed and replaced with a RawContact class, with getters/setters to raw contact information. Renamed EntityDelta to RawContactDelta for better understandability as well as adding getters/setters for specific fields in the ValuesDelta nested class within EntityDelta. EntityDeltaList and EntityModifier have been renamed to RawContactDeltaList and RawContactModifier with the methods using the RawContact class directly rather than the Entity class. Data items for a raw contact are represented by a DataItem object with specialized getters/setters for subclasses of DataItem. (e.g., EmailDataItem, PhoneDataItem. etc.). DataItem is a wrapper around ContentValues. This abstracts away the ContactsContract column fields into getters/setters. The above refactoring is accompanied with changes throughout the codebase to use the new Contact, RawContact, and DataItem classes. Change-Id: I31c1dccd724e9652f9d0af78ca81feb6c5acd71d
Loading
Please register or sign in to comment