From 343e11345ed496003f605e1b3bba5850d3e6cf0e Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 28 Sep 2012 18:01:17 -0700 Subject: Fix bug #6427629 Clean up layout direction APIs - remove onPaddingChanged(int) and fold it into onRtlPropertiesChanged(int) Change-Id: I1d7f02d2b4538c6c991bd4285501bbc73e6aa5c3 --- core/java/android/view/View.java | 30 ++++++++++----------------- core/java/android/widget/CheckedTextView.java | 13 ++++-------- core/java/android/widget/SearchView.java | 4 ++-- core/java/android/widget/TextView.java | 2 +- 4 files changed, 18 insertions(+), 31 deletions(-) (limited to 'core/java') diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index f9ff865..f8ebd61 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -11560,7 +11560,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } requestLayout(); invalidate(true); - onRtlPropertiesChanged(); + onRtlPropertiesChanged(getLayoutDirection()); } // Reset resolution of all RTL related properties. @@ -11622,8 +11622,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * resolved layout direction, or to inform child views that inherit their layout direction. * * The default implementation does nothing. + * + * @param layoutDirection the direction of the layout + * + * @see #LAYOUT_DIRECTION_LTR + * @see #LAYOUT_DIRECTION_RTL */ - public void onRtlPropertiesChanged() { + public void onRtlPropertiesChanged(int layoutDirection) { } /** @@ -11768,7 +11773,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, internalSetPadding(mUserPaddingLeft, mPaddingTop, mUserPaddingRight, mUserPaddingBottom); - onPaddingChanged(resolvedLayoutDirection); + onRtlPropertiesChanged(resolvedLayoutDirection); } mPrivateFlags2 |= PFLAG2_PADDING_RESOLVED; @@ -11784,19 +11789,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Resolve padding depending on the layout direction. Subclasses that care about - * padding resolution should override this method. The default implementation does - * nothing. - * - * @param layoutDirection the direction of the layout - * - * @see #LAYOUT_DIRECTION_LTR - * @see #LAYOUT_DIRECTION_RTL - */ - public void onPaddingChanged(int layoutDirection) { - } - - /** * This is called when the view is detached from a window. At this point it * no longer has a surface for drawing. * @@ -11827,7 +11819,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mCurrentAnimation = null; resetRtlProperties(); - onRtlPropertiesChanged(); + onRtlPropertiesChanged(LAYOUT_DIRECTION_DEFAULT); resetAccessibilityStateChanged(); } @@ -16618,7 +16610,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // Do resolution resolveTextDirection(); // Notify change - onRtlPropertiesChanged(); + onRtlPropertiesChanged(getLayoutDirection()); // Refresh requestLayout(); invalidate(true); @@ -16812,7 +16804,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // Do resolution resolveTextAlignment(); // Notify change - onRtlPropertiesChanged(); + onRtlPropertiesChanged(getLayoutDirection()); // Refresh requestLayout(); invalidate(true); diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java index cea1fd5..17c6f1d 100644 --- a/core/java/android/widget/CheckedTextView.java +++ b/core/java/android/widget/CheckedTextView.java @@ -104,7 +104,7 @@ public class CheckedTextView extends TextView implements Checkable { /** * Set the checkmark to a given Drawable, identified by its resourece id. This will be drawn * when {@link #isChecked()} is true. - * + * * @param resid The Drawable to use for the checkmark. * * @see #setCheckMarkDrawable(Drawable) @@ -147,7 +147,7 @@ public class CheckedTextView extends TextView implements Checkable { d.setVisible(getVisibility() == VISIBLE, false); d.setState(CHECKED_STATE_SET); setMinHeight(d.getIntrinsicHeight()); - + mCheckMarkWidth = d.getIntrinsicWidth(); d.setState(getDrawableState()); } else { @@ -184,13 +184,8 @@ public class CheckedTextView extends TextView implements Checkable { } @Override - public void onPaddingChanged(int layoutDirection) { - updatePadding(); - } - - @Override - public void onRtlPropertiesChanged() { - super.onRtlPropertiesChanged(); + public void onRtlPropertiesChanged(int layoutDirection) { + super.onRtlPropertiesChanged(layoutDirection); updatePadding(); } diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java index c838973..cd8638d 100644 --- a/core/java/android/widget/SearchView.java +++ b/core/java/android/widget/SearchView.java @@ -1354,8 +1354,8 @@ public class SearchView extends LinearLayout implements CollapsibleActionView { }; @Override - public void onRtlPropertiesChanged() { - mQueryTextView.setLayoutDirection(getLayoutDirection()); + public void onRtlPropertiesChanged(int layoutDirection) { + mQueryTextView.setLayoutDirection(layoutDirection); } /** diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 2937166..410a0ca 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -5635,7 +5635,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } @Override - public void onRtlPropertiesChanged() { + public void onRtlPropertiesChanged(int layoutDirection) { if (mLayoutAlignment != null) { if (mResolvedTextAlignment == TEXT_ALIGNMENT_VIEW_START || mResolvedTextAlignment == TEXT_ALIGNMENT_VIEW_END) { -- cgit v1.1