Fix bug #4415576 Gmail text looks broken

- pass correct "contextCount" when needed

Change-Id: I56ebd9486e99e6ca5a3973ec403cf1ced874b4c3
diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp
index 768b836..64749e9 100644
--- a/core/jni/android/graphics/Paint.cpp
+++ b/core/jni/android/graphics/Paint.cpp
@@ -335,8 +335,8 @@
         const jchar* textArray = env->GetCharArrayElements(text, NULL);
         jfloat result = 0;
 #if RTL_USE_HARFBUZZ
-        TextLayout::getTextRunAdvances(paint, textArray, index, count, count, paint->getFlags(),
-                NULL /* dont need all advances */, result);
+        TextLayout::getTextRunAdvances(paint, textArray, index, count, textLength,
+                paint->getFlags(), NULL /* dont need all advances */, result);
 #else
         // we double count, since measureText wants a byteLength
         SkScalar width = paint->measureText(textArray + index, count << 1);
@@ -362,8 +362,8 @@
         jfloat width = 0;
 
 #if RTL_USE_HARFBUZZ
-        TextLayout::getTextRunAdvances(paint, textArray, 0, count, count, paint->getFlags(),
-                NULL /* dont need all advances */, width);
+        TextLayout::getTextRunAdvances(paint, textArray, start, count, end,
+                paint->getFlags(), NULL /* dont need all advances */, width);
 #else
 
         width = SkScalarToFloat(paint->measureText(textArray + start, count << 1));
@@ -381,8 +381,8 @@
         size_t textLength = env->GetStringLength(text);
         jfloat width = 0;
 #if RTL_USE_HARFBUZZ
-        TextLayout::getTextRunAdvances(paint, textArray, 0, textLength, textLength, paint->getFlags(),
-                NULL /* dont need all advances */, width);
+        TextLayout::getTextRunAdvances(paint, textArray, 0, textLength, textLength,
+                paint->getFlags(), NULL /* dont need all advances */, width);
 #else
         width = SkScalarToFloat(paint->measureText(textArray, textLength << 1));
 #endif
@@ -396,8 +396,8 @@
 #if RTL_USE_HARFBUZZ
         jfloat totalAdvance;
 
-        TextLayout::getTextRunAdvances(paint, text, 0, count, count, paint->getFlags(),
-                widthsArray, totalAdvance);
+        TextLayout::getTextRunAdvances(paint, text, 0, count, count,
+                paint->getFlags(), widthsArray, totalAdvance);
 #else
         SkScalar* scalarArray = (SkScalar*)widthsArray;