summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-01-31 11:10:53 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-01-31 11:10:53 -0800
commitccfcd9e813d090ec9b4390b5217b32f73dd8263d (patch)
treeb7a78401efc2ba9467f637e08c7a2baf3e12d7a7 /core/java
parentddd11292d1be8d33989e3a67bf6398464ef2632c (diff)
parentf1f409a389d67dedc4847f802df402e78dd01353 (diff)
downloadframeworks_base-ccfcd9e813d090ec9b4390b5217b32f73dd8263d.zip
frameworks_base-ccfcd9e813d090ec9b4390b5217b32f73dd8263d.tar.gz
frameworks_base-ccfcd9e813d090ec9b4390b5217b32f73dd8263d.tar.bz2
Merge "Fxi initial error popup dialog in TextEdit and refreshed assets." into honeycomb
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/widget/TextView.java41
1 files changed, 24 insertions, 17 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index eee042a..e7c33ab 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -3489,8 +3489,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
com.android.internal.R.layout.textview_hint, null);
final float scale = getResources().getDisplayMetrics().density;
- mPopup = new ErrorPopup(err, (int) (200 * scale + 0.5f),
- (int) (50 * scale + 0.5f));
+ mPopup = new ErrorPopup(err, (int) (200 * scale + 0.5f), (int) (50 * scale + 0.5f));
mPopup.setFocusable(false);
// The user is entering text, so the input method is needed. We
// don't want the popup to be displayed on top of it.
@@ -3514,6 +3513,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
ErrorPopup(TextView v, int width, int height) {
super(v, width, height);
mView = v;
+ // Make sure the TextView has a background set as it will be used the first time it is
+ // shown and positionned. Initialized with below background, which should have
+ // dimensions identical to the above version for this to work (and is more likely).
+ mPopupInlineErrorBackgroundId = getResourceId(mPopupInlineErrorBackgroundId,
+ com.android.internal.R.styleable.Theme_errorMessageBackground);
+ mView.setBackgroundResource(mPopupInlineErrorBackgroundId);
}
void fixDirection(boolean above) {
@@ -3521,18 +3526,21 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (above) {
mPopupInlineErrorAboveBackgroundId =
- getResourceId(mPopupInlineErrorAboveBackgroundId, com.android.internal.R.styleable.Theme_errorMessageAboveBackground);
+ getResourceId(mPopupInlineErrorAboveBackgroundId,
+ com.android.internal.R.styleable.Theme_errorMessageAboveBackground);
} else {
- mPopupInlineErrorBackgroundId =
- getResourceId(mPopupInlineErrorBackgroundId, com.android.internal.R.styleable.Theme_errorMessageBackground);
+ mPopupInlineErrorBackgroundId = getResourceId(mPopupInlineErrorBackgroundId,
+ com.android.internal.R.styleable.Theme_errorMessageBackground);
}
- mView.setBackgroundResource(above ? mPopupInlineErrorAboveBackgroundId : mPopupInlineErrorBackgroundId);
+ mView.setBackgroundResource(above ? mPopupInlineErrorAboveBackgroundId :
+ mPopupInlineErrorBackgroundId);
}
private int getResourceId(int currentId, int index) {
if (currentId == 0) {
- TypedArray styledAttributes = mView.getContext().obtainStyledAttributes(R.styleable.Theme);
+ TypedArray styledAttributes = mView.getContext().obtainStyledAttributes(
+ R.styleable.Theme);
currentId = styledAttributes.getResourceId(index, 0);
styledAttributes.recycle();
}
@@ -3562,9 +3570,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
final float scale = getResources().getDisplayMetrics().density;
final Drawables dr = mDrawables;
- return getWidth() - mPopup.getWidth()
- - getPaddingRight()
- - (dr != null ? dr.mDrawableSizeRight : 0) / 2 + (int) (25 * scale + 0.5f);
+ return getWidth() - mPopup.getWidth() - getPaddingRight() -
+ (dr != null ? dr.mDrawableSizeRight : 0) / 2 + (int) (25 * scale + 0.5f);
}
/**
@@ -3576,20 +3583,20 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
* Compound, not extended, because the icon is not clipped
* if the text height is smaller.
*/
- int vspace = mBottom - mTop -
- getCompoundPaddingBottom() - getCompoundPaddingTop();
+ final int compoundPaddingTop = getCompoundPaddingTop();
+ int vspace = mBottom - mTop - getCompoundPaddingBottom() - compoundPaddingTop;
final Drawables dr = mDrawables;
- int icontop = getCompoundPaddingTop()
- + (vspace - (dr != null ? dr.mDrawableHeightRight : 0)) / 2;
+ int icontop = compoundPaddingTop +
+ (vspace - (dr != null ? dr.mDrawableHeightRight : 0)) / 2;
/*
* The "2" is the distance between the point and the top edge
* of the background.
*/
-
- return icontop + (dr != null ? dr.mDrawableHeightRight : 0)
- - getHeight() - 2;
+ final float scale = getResources().getDisplayMetrics().density;
+ return icontop + (dr != null ? dr.mDrawableHeightRight : 0) - getHeight() -
+ (int) (2 * scale + 0.5f);
}
private void hideError() {