Merge changes If9baf6db,Idc6c5d7d into nyc-mr1-dev

* changes:
  Fix DismissView cannot be clicked sometimes after boot
  Fix RTL issue of ImageFloatingTextView
This commit is contained in:
Selim Cinek
2016-09-23 21:52:10 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 2 deletions

View File

@@ -40,6 +40,9 @@ public class ImageFloatingTextView extends TextView {
/** Number of lines from the top to indent */ /** Number of lines from the top to indent */
private int mIndentLines; private int mIndentLines;
/** Resolved layout direction */
private int mResolvedDirection = LAYOUT_DIRECTION_UNDEFINED;
public ImageFloatingTextView(Context context) { public ImageFloatingTextView(Context context) {
this(context, null); this(context, null);
} }
@@ -82,7 +85,7 @@ public class ImageFloatingTextView extends TextView {
margins[i] = endMargin; margins[i] = endMargin;
} }
} }
if (getLayoutDirection() == LAYOUT_DIRECTION_RTL) { if (mResolvedDirection == LAYOUT_DIRECTION_RTL) {
builder.setIndents(margins, null); builder.setIndents(margins, null);
} else { } else {
builder.setIndents(null, margins); builder.setIndents(null, margins);
@@ -91,6 +94,19 @@ public class ImageFloatingTextView extends TextView {
return builder.build(); return builder.build();
} }
@Override
public void onRtlPropertiesChanged(int layoutDirection) {
super.onRtlPropertiesChanged(layoutDirection);
if (layoutDirection != mResolvedDirection && isLayoutDirectionResolved()) {
mResolvedDirection = layoutDirection;
if (mIndentLines > 0) {
// Invalidate layout.
setHint(getHint());
}
}
}
@RemotableViewMethod @RemotableViewMethod
public void setHasImage(boolean hasImage) { public void setHasImage(boolean hasImage) {
setNumIndentLines(hasImage ? 2 : 0); setNumIndentLines(hasImage ? 2 : 0);

View File

@@ -130,7 +130,7 @@ public class NotificationStackScrollLayout extends ViewGroup
private boolean mIsBeingDragged; private boolean mIsBeingDragged;
private int mLastMotionY; private int mLastMotionY;
private int mDownX; private int mDownX;
private int mActivePointerId; private int mActivePointerId = INVALID_POINTER;
private boolean mTouchIsClick; private boolean mTouchIsClick;
private float mInitialTouchX; private float mInitialTouchX;
private float mInitialTouchY; private float mInitialTouchY;