From b76b3b1c815eea62220ba8a148074897ffb92acf Mon Sep 17 00:00:00 2001 From: Russell Brenner Date: Wed, 28 Sep 2011 18:00:02 -0700 Subject: [PATCH] Center box text vertically Apply Gravity.CENTER_VERTICAL for single-line editable text Bug: 5267547 Change-Id: Ie81354214e6eb97554d1f9e8e47377a2b0e73df6 --- core/java/android/webkit/WebTextView.java | 7 +++++++ core/java/android/webkit/WebView.java | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 217ad7c4367e8..092e2b5d6dbc4 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -1092,4 +1092,11 @@ import junit.framework.Assert; return url != null ? url.getProtocol() + "://" + url.getHost() + url.getPath() : null; } + + public void setGravityForRtl(boolean rtl) { + int gravity = rtl ? Gravity.RIGHT : Gravity.LEFT; + gravity |= mSingle ? Gravity.CENTER_VERTICAL : Gravity.TOP; + setGravity(gravity); + } + } diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 370cce40b704d..851c70626cb30 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -4760,12 +4760,12 @@ public class WebView extends AbsoluteLayout } String text = nativeFocusCandidateText(); int nodePointer = nativeFocusCandidatePointer(); - mWebTextView.setGravity(nativeFocusCandidateIsRtlText() ? - Gravity.RIGHT : Gravity.NO_GRAVITY); // This needs to be called before setType, which may call // requestFormData, and it needs to have the correct nodePointer. mWebTextView.setNodePointer(nodePointer); mWebTextView.setType(nativeFocusCandidateType()); + // Gravity needs to be set after setType + mWebTextView.setGravityForRtl(nativeFocusCandidateIsRtlText()); updateWebTextViewPadding(); if (null == text) { if (DebugFlags.WEB_VIEW) {