summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/17.txt2
-rw-r--r--api/current.txt20
-rw-r--r--core/java/android/view/View.java211
-rw-r--r--core/java/android/view/ViewGroup.java27
-rw-r--r--core/java/android/widget/AbsSeekBar.java3
-rw-r--r--core/java/android/widget/ImageView.java2
-rw-r--r--core/java/android/widget/ProgressBar.java3
-rw-r--r--core/java/android/widget/SearchView.java2
-rw-r--r--core/java/android/widget/TextView.java30
-rw-r--r--core/java/com/android/internal/widget/ActionBarContainer.java3
10 files changed, 127 insertions, 176 deletions
diff --git a/api/17.txt b/api/17.txt
index cab0cf5..0fed27a 100644
--- a/api/17.txt
+++ b/api/17.txt
@@ -28704,8 +28704,6 @@ package android.widget {
method protected void onTextChanged(java.lang.CharSequence, int, int, int);
method public boolean onTextContextMenuItem(int);
method public void removeTextChangedListener(android.text.TextWatcher);
- method protected void resetResolvedDrawables();
- method protected void resolveDrawables();
method public void setAllCaps(boolean);
method public final void setAutoLinkMask(int);
method public void setCompoundDrawablePadding(int);
diff --git a/api/current.txt b/api/current.txt
index ba74e38..b337f36 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -24774,9 +24774,6 @@ package android.view {
method public void buildDrawingCache(boolean);
method public void buildLayer();
method public boolean callOnClick();
- method public boolean canResolveLayoutDirection();
- method public boolean canResolveTextAlignment();
- method public boolean canResolveTextDirection();
method public boolean canScrollHorizontally(int);
method public boolean canScrollVertically(int);
method public void cancelLongPress();
@@ -24977,7 +24974,6 @@ package android.view {
method public boolean isHovered();
method public boolean isInEditMode();
method public boolean isInTouchMode();
- method protected static boolean isLayoutDirectionRtl(java.util.Locale);
method public boolean isLayoutRequested();
method public boolean isLayoutRtl();
method public boolean isLongClickable();
@@ -25033,14 +25029,8 @@ package android.view {
method protected void onOverScrolled(int, int, boolean, boolean);
method public void onPaddingChanged(int);
method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- method public void onResolveDrawables(int);
- method public void onResolvedLayoutDirectionChanged();
- method public void onResolvedLayoutDirectionReset();
- method public void onResolvedTextAlignmentChanged();
- method public void onResolvedTextAlignmentReset();
- method public void onResolvedTextDirectionChanged();
- method public void onResolvedTextDirectionReset();
method protected void onRestoreInstanceState(android.os.Parcelable);
+ method public void onRtlPropertiesChanged();
method protected android.os.Parcelable onSaveInstanceState();
method public void onScreenStateChanged(int);
method protected void onScrollChanged(int, int, int, int);
@@ -25082,16 +25072,8 @@ package android.view {
method public void requestLayout();
method public boolean requestRectangleOnScreen(android.graphics.Rect);
method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean);
- method public void resetResolvedLayoutDirection();
- method public void resetResolvedTextAlignment();
- method public void resetResolvedTextDirection();
- method public void resolveDrawables();
- method public void resolveLayoutDirection();
- method public void resolvePadding();
method public static int resolveSize(int, int);
method public static int resolveSizeAndState(int, int, int);
- method public void resolveTextAlignment();
- method public void resolveTextDirection();
method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable>);
method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable>);
method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 87221e0..d3542e3 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -5798,13 +5798,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
if (getLayoutDirection() != layoutDirection) {
// Reset the current layout direction and the resolved one
mPrivateFlags2 &= ~PFLAG2_LAYOUT_DIRECTION_MASK;
- resetResolvedLayoutDirection();
- // Reset padding resolution
- mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
+ resetRtlProperties();
// Set the new layout direction (filtered)
mPrivateFlags2 |=
((layoutDirection << PFLAG2_LAYOUT_DIRECTION_MASK_SHIFT) & PFLAG2_LAYOUT_DIRECTION_MASK);
resolveRtlProperties();
+ // Notify changes
+ onRtlPropertiesChanged();
// ... and ask for a layout pass
requestLayout();
}
@@ -11474,6 +11474,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
jumpDrawablesToCurrentState();
resolveRtlProperties();
+ // Notify changes
+ onRtlPropertiesChanged();
clearAccessibilityFocus();
if (isFocused()) {
@@ -11486,17 +11488,28 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
}
+ /**
+ * Resolve all RTL related properties
+ */
void resolveRtlProperties() {
// Order is important here: LayoutDirection MUST be resolved first...
resolveLayoutDirection();
// ... then we can resolve the others properties depending on the resolved LayoutDirection.
- resolvePadding();
- resolveLayoutParams();
resolveTextDirection();
resolveTextAlignment();
+ resolvePadding();
+ resolveLayoutParams();
resolveDrawables();
}
+ // Reset resolution of all RTL related properties
+ void resetRtlProperties() {
+ resetResolvedLayoutDirection();
+ resetResolvedTextDirection();
+ resetResolvedTextAlignment();
+ resetResolvedPadding();
+ }
+
/**
* @see #onScreenStateChanged(int)
*/
@@ -11524,9 +11537,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
+ * Called when any RTL property (layout direction or text direction or text alignment) has
+ * been changed.
+ *
+ * Subclasses need to override this method to take care of cached information that depends on the
+ * resolved layout direction, or to inform child views that inherit their layout direction.
+ *
+ * The default implementation does nothing.
+ */
+ public void onRtlPropertiesChanged() {
+ }
+
+ /**
* Resolve and cache the layout direction. LTR is set initially. This is implicitly supposing
* that the parent directionality can and will be resolved before its children.
- * Will call {@link View#onResolvedLayoutDirectionChanged} when resolution is done.
+ *
+ * @hide
*/
public void resolveLayoutDirection() {
// Clear any previous layout direction resolution
@@ -11554,7 +11580,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
mPrivateFlags2 |= PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL;
break;
case LAYOUT_DIRECTION_LOCALE:
- if(isLayoutDirectionRtl(Locale.getDefault())) {
+ if((LAYOUT_DIRECTION_RTL ==
+ TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()))) {
mPrivateFlags2 |= PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL;
}
break;
@@ -11565,19 +11592,38 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// Set to resolved
mPrivateFlags2 |= PFLAG2_LAYOUT_DIRECTION_RESOLVED;
- onResolvedLayoutDirectionChanged();
}
/**
- * Called when layout direction has been resolved.
+ * Check if layout direction resolution can be done.
*
- * The default implementation does nothing.
+ * @return true if layout direction resolution can be done otherwise return false.
+ *
+ * @hide
+ */
+ public boolean canResolveLayoutDirection() {
+ switch (getLayoutDirection()) {
+ case LAYOUT_DIRECTION_INHERIT:
+ return (mParent != null) && (mParent instanceof ViewGroup);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * Reset the resolved layout direction.
+ *
+ * @hide
*/
- public void onResolvedLayoutDirectionChanged() {
+ public void resetResolvedLayoutDirection() {
+ // Reset the current resolved bits
+ mPrivateFlags2 &= ~PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK;
}
/**
* Return if padding has been resolved
+ *
+ * @hide
*/
boolean isPaddingResolved() {
return (mPrivateFlags2 & PFLAG2_PADDING_RESOLVED) != 0;
@@ -11585,6 +11631,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
/**
* Resolve padding depending on layout direction.
+ *
+ * @hide
*/
public void resolvePadding() {
final int targetSdkVersion = getContext().getApplicationInfo().targetSdkVersion;
@@ -11648,6 +11696,15 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
+ * Reset the resolved layout direction.
+ *
+ * @hide
+ */
+ public void resetResolvedPadding() {
+ mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
+ }
+
+ /**
* Resolve padding depending on the layout direction. Subclasses that care about
* padding resolution should override this method. The default implementation does
* nothing.
@@ -11661,53 +11718,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * Check if layout direction resolution can be done.
- *
- * @return true if layout direction resolution can be done otherwise return false.
- */
- public boolean canResolveLayoutDirection() {
- switch (getLayoutDirection()) {
- case LAYOUT_DIRECTION_INHERIT:
- return (mParent != null) && (mParent instanceof ViewGroup);
- default:
- return true;
- }
- }
-
- /**
- * Reset the resolved layout direction. Will call {@link View#onResolvedLayoutDirectionReset}
- * when reset is done.
- */
- public void resetResolvedLayoutDirection() {
- // Reset the current resolved bits
- mPrivateFlags2 &= ~PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK;
- onResolvedLayoutDirectionReset();
- // Reset also the text direction
- resetResolvedTextDirection();
- }
-
- /**
- * Called during reset of resolved layout direction.
- *
- * Subclasses need to override this method to clear cached information that depends on the
- * resolved layout direction, or to inform child views that inherit their layout direction.
- *
- * The default implementation does nothing.
- */
- public void onResolvedLayoutDirectionReset() {
- }
-
- /**
- * Check if a Locale uses an RTL script.
- *
- * @param locale Locale to check
- * @return true if the Locale uses an RTL script.
- */
- protected static boolean isLayoutDirectionRtl(Locale locale) {
- return (LAYOUT_DIRECTION_RTL == TextUtils.getLayoutDirectionFromLocale(locale));
- }
-
- /**
* This is called when the view is detached from a window. At this point it
* no longer has a surface for drawing.
*
@@ -11737,10 +11747,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
mCurrentAnimation = null;
- resetResolvedLayoutDirection();
- resetResolvedTextAlignment();
+ resetRtlProperties();
+ onRtlPropertiesChanged();
resetAccessibilityStateChanged();
- mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
}
/**
@@ -14087,6 +14096,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* that the View directionality can and will be resolved before its Drawables.
*
* Will call {@link View#onResolveDrawables} when resolution is done.
+ *
+ * @hide
*/
public void resolveDrawables() {
if (mBackground != null) {
@@ -14104,6 +14115,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* @see #LAYOUT_DIRECTION_LTR
* @see #LAYOUT_DIRECTION_RTL
+ *
+ * @hide
*/
public void onResolveDrawables(int layoutDirection) {
}
@@ -14379,8 +14392,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
background.setLayoutDirection(getResolvedLayoutDirection());
if (background.getPadding(padding)) {
- // Reset padding resolution
- mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
+ resetResolvedPadding();
switch (background.getLayoutDirection()) {
case LAYOUT_DIRECTION_RTL:
mUserPaddingLeftInitial = padding.right;
@@ -14481,8 +14493,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* @param bottom the bottom padding in pixels
*/
public void setPadding(int left, int top, int right, int bottom) {
- // Reset padding resolution
- mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
+ resetResolvedPadding();
mUserPaddingStart = UNDEFINED_PADDING;
mUserPaddingEnd = UNDEFINED_PADDING;
@@ -14571,8 +14582,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* @param bottom the bottom padding in pixels
*/
public void setPaddingRelative(int start, int top, int end, int bottom) {
- // Reset padding resolution
- mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED;
+ resetResolvedPadding();
mUserPaddingStart = start;
mUserPaddingEnd = end;
@@ -16509,6 +16519,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
resetResolvedTextDirection();
// Set the new text direction
mPrivateFlags2 |= ((textDirection << PFLAG2_TEXT_DIRECTION_MASK_SHIFT) & PFLAG2_TEXT_DIRECTION_MASK);
+ // Notify change
+ onRtlPropertiesChanged();
// Refresh
requestLayout();
invalidate(true);
@@ -16540,8 +16552,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * Resolve the text direction. Will call {@link View#onResolvedTextDirectionChanged} when
- * resolution is done.
+ * Resolve the text direction.
+ *
+ * @hide
*/
public void resolveTextDirection() {
// Reset any previous text direction resolution
@@ -16594,16 +16607,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// Set to resolved
mPrivateFlags2 |= PFLAG2_TEXT_DIRECTION_RESOLVED;
- onResolvedTextDirectionChanged();
- }
-
- /**
- * Called when text direction has been resolved. Subclasses that care about text direction
- * resolution should override this method.
- *
- * The default implementation does nothing.
- */
- public void onResolvedTextDirectionChanged() {
}
/**
@@ -16611,7 +16614,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* @return true if text direction resolution can be done otherwise return false.
*/
- public boolean canResolveTextDirection() {
+ private boolean canResolveTextDirection() {
switch (getTextDirection()) {
case TEXT_DIRECTION_INHERIT:
return (mParent != null) && (mParent instanceof ViewGroup);
@@ -16622,20 +16625,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
/**
* Reset resolved text direction. Text direction can be resolved with a call to
- * getResolvedTextDirection(). Will call {@link View#onResolvedTextDirectionReset} when
- * reset is done.
+ * getResolvedTextDirection().
+ *
+ * @hide
*/
public void resetResolvedTextDirection() {
mPrivateFlags2 &= ~(PFLAG2_TEXT_DIRECTION_RESOLVED | PFLAG2_TEXT_DIRECTION_RESOLVED_MASK);
- onResolvedTextDirectionReset();
- }
-
- /**
- * Called when text direction is reset. Subclasses that care about text direction reset should
- * override this method and do a reset of the text direction of their children. The default
- * implementation does nothing.
- */
- public void onResolvedTextDirectionReset() {
}
/**
@@ -16687,6 +16682,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
resetResolvedTextAlignment();
// Set the new text alignment
mPrivateFlags2 |= ((textAlignment << PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT) & PFLAG2_TEXT_ALIGNMENT_MASK);
+ // Notify change
+ onRtlPropertiesChanged();
// Refresh
requestLayout();
invalidate(true);
@@ -16727,8 +16724,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * Resolve the text alignment. Will call {@link View#onResolvedTextAlignmentChanged} when
- * resolution is done.
+ * Resolve the text alignment.
+ *
+ * @hide
*/
public void resolveTextAlignment() {
// Reset any previous text alignment resolution
@@ -16740,7 +16738,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
switch (textAlignment) {
case TEXT_ALIGNMENT_INHERIT:
// Check if we can resolve the text alignment
- if (canResolveLayoutDirection() && mParent instanceof View) {
+ if (canResolveTextAlignment() && mParent instanceof View) {
View view = (View) mParent;
final int parentResolvedTextAlignment = view.getResolvedTextAlignment();
@@ -16786,7 +16784,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// Set the resolved
mPrivateFlags2 |= PFLAG2_TEXT_ALIGNMENT_RESOLVED;
- onResolvedTextAlignmentChanged();
}
/**
@@ -16794,7 +16791,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* @return true if text alignment resolution can be done otherwise return false.
*/
- public boolean canResolveTextAlignment() {
+ private boolean canResolveTextAlignment() {
switch (getTextAlignment()) {
case TEXT_DIRECTION_INHERIT:
return (mParent != null);
@@ -16804,31 +16801,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * Called when text alignment has been resolved. Subclasses that care about text alignment
- * resolution should override this method.
+ * Reset resolved text alignment.
*
- * The default implementation does nothing.
- */
- public void onResolvedTextAlignmentChanged() {
- }
-
- /**
- * Reset resolved text alignment. Text alignment can be resolved with a call to
- * getResolvedTextAlignment(). Will call {@link View#onResolvedTextAlignmentReset} when
- * reset is done.
+ * @hide
*/
public void resetResolvedTextAlignment() {
// Reset any previous text alignment resolution
mPrivateFlags2 &= ~(PFLAG2_TEXT_ALIGNMENT_RESOLVED | PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK);
- onResolvedTextAlignmentReset();
- }
-
- /**
- * Called when text alignment is reset. Subclasses that care about text alignment reset should
- * override this method and do a reset of the text alignment of their children. The default
- * implementation does nothing.
- */
- public void onResolvedTextAlignmentReset() {
}
/**
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index ae10fbe..8da05e1 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -5257,36 +5257,23 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
}
}
+ /**
+ * @hide
+ */
@Override
- public void onResolvedLayoutDirectionReset() {
+ public void resetResolvedLayoutDirection() {
+ super.resetResolvedLayoutDirection();
+
// Take care of resetting the children resolution too
- final int count = getChildCount();
+ int count = getChildCount();
for (int i = 0; i < count; i++) {
final View child = getChildAt(i);
if (child.getLayoutDirection() == LAYOUT_DIRECTION_INHERIT) {
child.resetResolvedLayoutDirection();
}
- }
- }
-
- @Override
- public void onResolvedTextDirectionReset() {
- // Take care of resetting the children resolution too
- final int count = getChildCount();
- for (int i = 0; i < count; i++) {
- final View child = getChildAt(i);
if (child.getTextDirection() == TEXT_DIRECTION_INHERIT) {
child.resetResolvedTextDirection();
}
- }
- }
-
- @Override
- public void onResolvedTextAlignmentReset() {
- // Take care of resetting the children resolution too
- final int count = getChildCount();
- for (int i = 0; i < count; i++) {
- final View child = getChildAt(i);
if (child.getTextAlignment() == TEXT_ALIGNMENT_INHERIT) {
child.resetResolvedTextAlignment();
}
diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java
index 62253d3..59b85b0 100644
--- a/core/java/android/widget/AbsSeekBar.java
+++ b/core/java/android/widget/AbsSeekBar.java
@@ -308,6 +308,9 @@ public abstract class AbsSeekBar extends ProgressBar {
thumb.setBounds(left, topBound, left + thumbWidth, bottomBound);
}
+ /**
+ * @hide
+ */
@Override
public void onResolveDrawables(int layoutDirection) {
super.onResolveDrawables(layoutDirection);
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index 87396fb..e395ce5 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -680,7 +680,7 @@ public class ImageView extends View {
d.setState(getDrawableState());
}
d.setLevel(mLevel);
- d.setLayoutDirection(getLayoutDirection());
+ d.setLayoutDirection(getResolvedLayoutDirection());
mDrawableWidth = d.getIntrinsicWidth();
mDrawableHeight = d.getIntrinsicHeight();
applyColorMod();
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java
index b6d0995..4fd7597 100644
--- a/core/java/android/widget/ProgressBar.java
+++ b/core/java/android/widget/ProgressBar.java
@@ -565,6 +565,9 @@ public class ProgressBar extends View {
if (mIndeterminateDrawable != null) mIndeterminateDrawable.jumpToCurrentState();
}
+ /**
+ * @hide
+ */
@Override
public void onResolveDrawables(int layoutDirection) {
final Drawable d = mCurrentDrawable;
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 9b62a51..f70852ed 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -1354,7 +1354,7 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
};
@Override
- public void onResolvedLayoutDirectionChanged() {
+ public void onRtlPropertiesChanged() {
mQueryTextView.setLayoutDirection(getResolvedLayoutDirection());
}
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index dd2ff35..f7a1af0 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 onResolvedLayoutDirectionReset() {
+ public void onRtlPropertiesChanged() {
if (mLayoutAlignment != null) {
if (mResolvedTextAlignment == TEXT_ALIGNMENT_VIEW_START ||
mResolvedTextAlignment == TEXT_ALIGNMENT_VIEW_END) {
@@ -5733,7 +5733,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
if (mTextDir == null) {
- resolveTextDirection();
+ mTextDir = getTextDirectionHeuristic();
}
mLayout = makeSingleLayout(wantWidth, boring, ellipsisWidth, alignment, shouldEllipsize,
@@ -5995,7 +5995,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
BoringLayout.Metrics hintBoring = UNKNOWN_BORING;
if (mTextDir == null) {
- resolveTextDirection();
+ getTextDirectionHeuristic();
}
int des = -1;
@@ -8181,13 +8181,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
return mEditor.mInBatchEditControllers;
}
- @Override
- public void onResolvedTextDirectionChanged() {
+ TextDirectionHeuristic getTextDirectionHeuristic() {
if (hasPasswordTransformationMethod()) {
// TODO: take care of the content direction to show the password text and dots justified
// to the left or to the right
- mTextDir = TextDirectionHeuristics.LOCALE;
- return;
+ return TextDirectionHeuristics.LOCALE;
}
// Always need to resolve layout direction first
@@ -8198,24 +8196,22 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
switch (textDir) {
default:
case TEXT_DIRECTION_FIRST_STRONG:
- mTextDir = (defaultIsRtl ? TextDirectionHeuristics.FIRSTSTRONG_RTL :
+ return (defaultIsRtl ? TextDirectionHeuristics.FIRSTSTRONG_RTL :
TextDirectionHeuristics.FIRSTSTRONG_LTR);
- break;
case TEXT_DIRECTION_ANY_RTL:
- mTextDir = TextDirectionHeuristics.ANYRTL_LTR;
- break;
+ return TextDirectionHeuristics.ANYRTL_LTR;
case TEXT_DIRECTION_LTR:
- mTextDir = TextDirectionHeuristics.LTR;
- break;
+ return TextDirectionHeuristics.LTR;
case TEXT_DIRECTION_RTL:
- mTextDir = TextDirectionHeuristics.RTL;
- break;
+ return TextDirectionHeuristics.RTL;
case TEXT_DIRECTION_LOCALE:
- mTextDir = TextDirectionHeuristics.LOCALE;
- break;
+ return TextDirectionHeuristics.LOCALE;
}
}
+ /**
+ * @hide
+ */
@Override
public void onResolveDrawables(int layoutDirection) {
// No need to resolve twice
diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java
index 6bcaa0e..0cfe4fd 100644
--- a/core/java/com/android/internal/widget/ActionBarContainer.java
+++ b/core/java/com/android/internal/widget/ActionBarContainer.java
@@ -161,6 +161,9 @@ public class ActionBarContainer extends FrameLayout {
}
}
+ /**
+ * @hide
+ */
@Override
public void onResolveDrawables(int layoutDirection) {
super.onResolveDrawables(layoutDirection);