CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.

CharsetDecoderICU and CharsetEncoderICU special-case array-backed ByteBuffers
and CharBuffers for performance reasons, but they shouldn't assume that the
backing array always has offset 0.

An external user hit this while using the jAudioTagger library.

Test cases from user submission:
http://code.google.com/p/android/issues/detail?id=4237

See also: 2234697
5 files changed