* changes:
Moving the Tts java class from the android.tts package to the android.speech.tts package. The Tts class (still hidden at this point) is the only Text-To-Speech class that will be exposed to application developers.
* changes:
Adding new Settings.Secure properties for the Text-To-Speech functionality. Those properties are secure to prevent applications from altering the user's settings without his knowledge.
* changes:
Add new SHOW_WEB_SUGGESTIONS system setting, referenced by the search settings (in a follow-on change). This setting, to be respected by global search, and which I will also file a bug to the browser to respect, determines whether live web suggestions will be shown to the user as they type. For privacy reasons, this could be considered undesirable, as partial queries can then be sent to the user's chosen search engine, so a setting was required.
* changes:
Fix int to string mapping of exported properties. The value generated by the mapping in a @ViewDebug.ExportedProperty annotation was always overriden by the resolveId attribute.
* changes:
Grant permissions to older package when deleting an updated system application. When a system app gets updated, the permissions are granted to the new pkg. Similary when this updated pkg(from data partition) gets removed, the older pkg from system partition is restored. but the permissions are'nt being granted explicitly and so the restore fails. This fix addresses specific bugs related to uninstall of updated system apps. These code paths will be revisited later but this fix is needed for OTA's that might fall back to older versions of system apps.
This bug was introduced when lighting computations was changed from eye-space to object-space.
The light position need to be transformed back to object-space each time the modelview matrix changes which requires us to compute the inverse of the modelview matrix. This computation was done with the assumption that normals where transformed (which was the case when the computation was made in eye-space), however, normals only require the inverse of the upper 3x3 matrix while transforming positions requires the inverse of the whole matrix.
This caused the interesting behavior that lights were more-or-less transformed properly, but not translated at all, which caused improper lighting with directional lights in particular.
There was also another smaller bug affecting directional lights: when vertices are read, only the active component are read, the other ones are ignored, later, the transformation operations are set up to ignore the unset values, howver, in the case of lighting, we use the vertex in object space (that is, before it is transformed), and therefore were using uninitalized values; in particular w.