From 253e515259d759ee34fb2035a9025d1945f83dd0 Mon Sep 17 00:00:00 2001 From: Fredrik Roubert Date: Thu, 6 Apr 2017 22:13:51 +0200 Subject: [PATCH] Update JNI code in preparation for ICU 59 switching to C++11 char16_t. ICU 59 (update pending on the aosp/icu59 branch) has switched to using the C++11 char16_t data type, which is a distinct type from uint16_t (which is what JNI's jchar is typedef'd as), even though they are bitwise identical. All code that passes UTF-16 data between ICU4C and JNI must therefore be updated with typecasts in the appropriate places before ICU 59 is merged to aosp/master. Bug: 37554848 Test: make Change-Id: Ibbc90d2b603382d4715551d05c4a6a462529542d Merged-In: Ic84a94be82acbef41f80cc113d5da485ce54ae29 --- core/jni/android_text_AndroidBidi.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/jni/android_text_AndroidBidi.cpp b/core/jni/android_text_AndroidBidi.cpp index d744b7c989ea6..8b7157261ea21 100644 --- a/core/jni/android_text_AndroidBidi.cpp +++ b/core/jni/android_text_AndroidBidi.cpp @@ -42,7 +42,7 @@ static jint runBidi(JNIEnv* env, jobject obj, jint dir, jcharArray chsArray, // Set callbacks to override bidi classes of new emoji ubidi_setClassCallback( bidi, minikin::emojiBidiOverride, nullptr, nullptr, nullptr, &status); - ubidi_setPara(bidi, chs, n, dir, NULL, &status); + ubidi_setPara(bidi, reinterpret_cast(chs), n, dir, NULL, &status); if (U_SUCCESS(status)) { for (int i = 0; i < n; ++i) { info[i] = ubidi_getLevelAt(bidi, i);