Fix bug #4972141 Overlapping content in single-choice dialogs
- need to take care about padding resolution
Change-Id: Ida9738ffada6c6455b7949f933fa61924c4f7961
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 74dc100..8627ab2 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -2167,21 +2167,27 @@
/**
* Cache the paddingRight set by the user to append to the scrollbar's size.
+ *
+ * @hide
*/
@ViewDebug.ExportedProperty(category = "padding")
- int mUserPaddingRight;
+ protected int mUserPaddingRight;
/**
* Cache the paddingBottom set by the user to append to the scrollbar's size.
+ *
+ * @hide
*/
@ViewDebug.ExportedProperty(category = "padding")
- int mUserPaddingBottom;
+ protected int mUserPaddingBottom;
/**
* Cache the paddingLeft set by the user to append to the scrollbar's size.
+ *
+ * @hide
*/
@ViewDebug.ExportedProperty(category = "padding")
- int mUserPaddingLeft;
+ protected int mUserPaddingLeft;
/**
* Cache if the user padding is relative.
diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java
index 8d4aaea..49616cc 100644
--- a/core/java/android/widget/CheckedTextView.java
+++ b/core/java/android/widget/CheckedTextView.java
@@ -130,10 +130,10 @@
setMinHeight(d.getIntrinsicHeight());
mCheckMarkWidth = d.getIntrinsicWidth();
- mPaddingRight = mCheckMarkWidth + mBasePaddingRight;
+ mUserPaddingRight = mCheckMarkWidth + mBasePaddingRight;
d.setState(getDrawableState());
} else {
- mPaddingRight = mBasePaddingRight;
+ mUserPaddingRight = mBasePaddingRight;
}
mCheckMarkDrawable = d;
requestLayout();
@@ -142,7 +142,7 @@
@Override
public void setPadding(int left, int top, int right, int bottom) {
super.setPadding(left, top, right, bottom);
- mBasePaddingRight = mPaddingRight;
+ mBasePaddingRight = mUserPaddingRight;
}
@Override
@@ -167,9 +167,9 @@
int right = getWidth();
checkMarkDrawable.setBounds(
- right - mCheckMarkWidth - mBasePaddingRight,
+ right - mUserPaddingRight,
y,
- right - mBasePaddingRight,
+ right - mUserPaddingRight + mCheckMarkWidth,
y + height);
checkMarkDrawable.draw(canvas);
}