* Allow CMParts to update the summary (or any detail) of a preference
so it can be shown correctly in the UI.
* Also some cleanup and refactoring around the parts list.
Change-Id: Idc16a7eb1a1e4170671fd068bd240b88fadfb577
* Add a new set of attributes which can be declared in the
preference XML which will cause the preference to be
removed from the hierarchy if the constraint is not met.
Currently we can check for installed packages, system
properties, config references, and system features.
* CMPartsPreference is also updated to use similar logic
based on the external XML.
Change-Id: If8fb39cd3312623e38bb3498bfb3f29ed8b444d6
* Add a Preference subclass which queries CMParts and handles all
the work needed to add a new part into Settings with a single
line of XML.
* The parts list lives in the CMParts app as res/xml/parts_catalog.xml
* We also support receiving a broadcast to update the title/summary.
Change-Id: Iaceddc85272718ba93e4086cc2577c3b016419e2