tree 4f9f749f963c532b7753b696f6a4430a0d8480a1
parent 7e086471c6317d059af21d292bee964b24613346
author Andy McFadden <fadden@android.com> 1327614565 -0800
committer Andy McFadden <fadden@android.com> 1327614565 -0800

Tweak behavior of encodeHex

The Hex.encodeHex() function takes a "zeroTerminated" argument
that means, "when you see a zero byte, end the string".  This is
being used on Collator keys, which are opaque binary blobs, and
not guaranteed to have a specific format.

This change makes the code work like the framework's DatabaseUtils
functions (getCollationKey/getKeyLen) which will remove the zero
termination if it exists, but otherwise retain the string in its
entirety.  This still breaks encapsulation, but is incrementally
closer to correct behavior.

Because ICU happens to return collation keys that look like C strings,
this yields no actual change.  All Contacts provider tests behave
as they did before the change, and the "nicknames" table (which
contains hexified collation keys) is unchanged.

Change-Id: Ibf5f31132f4d3119d416b8af7765f9c6eca5b841
