summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJin Cao <jinyan@google.com>2014-08-21 00:00:08 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-20 21:39:11 +0000
commit1c1e9a86189b1217099a31252ec196cbc9a9e55d (patch)
tree3c84645d9ccad2e78317712a86111213be588895
parent8c805a8fe5ad65cc33b89366af096fab2e040d3a (diff)
parent4eb909e1ef9656dfc06d2518842357827dcfb068 (diff)
downloadandroid_packages_apps_UnifiedEmail-1c1e9a86189b1217099a31252ec196cbc9a9e55d.tar.gz
android_packages_apps_UnifiedEmail-1c1e9a86189b1217099a31252ec196cbc9a9e55d.tar.bz2
android_packages_apps_UnifiedEmail-1c1e9a86189b1217099a31252ec196cbc9a9e55d.zip
Merge "[Quantum TL] support RTL for folders text fading" into ub-gmail-ur14-dev
-rw-r--r--src/com/android/mail/browse/ConversationItemView.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/com/android/mail/browse/ConversationItemView.java b/src/com/android/mail/browse/ConversationItemView.java
index b47a70444..6893252f8 100644
--- a/src/com/android/mail/browse/ConversationItemView.java
+++ b/src/com/android/mail/browse/ConversationItemView.java
@@ -40,6 +40,7 @@ import android.graphics.Shader;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
+import android.support.v4.text.BidiFormatter;
import android.support.v4.text.TextUtilsCompat;
import android.support.v4.view.ViewCompat;
import android.text.Layout.Alignment;
@@ -249,10 +250,12 @@ public class ConversationItemView extends View
*/
static class ConversationItemFolderDisplayer extends FolderDisplayer {
+ private final BidiFormatter mFormatter;
private int mFoldersCount;
- public ConversationItemFolderDisplayer(Context context) {
+ public ConversationItemFolderDisplayer(Context context, BidiFormatter formatter) {
super(context);
+ mFormatter = formatter;
}
@Override
@@ -398,21 +401,23 @@ public class ConversationItemView extends View
canvas.drawRoundRect(rect, sFolderRoundedCornerRadius, sFolderRoundedCornerRadius,
sFoldersPaint);
- // Draw the text.
+ // Draw the text based on the language locale.
+ final boolean isTextRtl = mFormatter.isRtl(folderString);
sFoldersPaint.setColor(fgColor);
sFoldersPaint.setStyle(Paint.Style.FILL);
if (overflow[index]) {
final int rightBorder = xLeft + measurements[index];
- final int x0 = (isRtl) ? xLeft + sFoldersOverflowGradientPadding :
+ final int x0 = (isTextRtl) ? xLeft + sFoldersOverflowGradientPadding :
rightBorder - sFoldersOverflowGradientPadding;
- final int x1 = (isRtl) ? xLeft + sFoldersInnerPadding :
+ final int x1 = (isTextRtl) ? xLeft + sFoldersInnerPadding :
rightBorder - sFoldersInnerPadding;
final Shader shader = new LinearGradient(x0, y, x1, y, fgColor,
Utils.getTransparentColor(fgColor), Shader.TileMode.CLAMP);
sFoldersPaint.setShader(shader);
}
- canvas.drawText(folderString, xLeft + sFoldersInnerPadding,
- y + height - textBottomPadding, sFoldersPaint);
+ final int textX = (isTextRtl) ? xLeft + measurements[index] - sFoldersInnerPadding :
+ xLeft + sFoldersInnerPadding;
+ canvas.drawText(folderString, textX, y + height - textBottomPadding, sFoldersPaint);
if (overflow[index]) {
sFoldersPaint.setShader(null);
}
@@ -631,7 +636,8 @@ public class ConversationItemView extends View
Utils.traceBeginSection("folder displayer");
// Initialize folder displayer.
if (mHeader.folderDisplayer == null) {
- mHeader.folderDisplayer = new ConversationItemFolderDisplayer(mContext);
+ mHeader.folderDisplayer = new ConversationItemFolderDisplayer(mContext,
+ mAdapter.getBidiFormatter());
} else {
mHeader.folderDisplayer.reset();
}