Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
index 985669d20428c4e7b5ffdd73ff49713159128e25..142475ef5028e37aadf19204280dd220b74124c8 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
@@ -21,6 +21,7 @@ import android.widget.ListView; |
import android.widget.TextView; |
import org.chromium.chrome.R; |
+import org.chromium.ui.base.LocalizationUtils; |
import org.chromium.ui.interpolators.BakedBezierInterpolator; |
import java.util.List; |
@@ -208,12 +209,17 @@ class AppMenuAdapter extends BaseAdapter { |
TitleButtonMenuItemViewHolder holder = null; |
if (convertView == null) { |
holder = new TitleButtonMenuItemViewHolder(); |
- convertView = mInflater.inflate(R.layout.title_button_menu_item, parent, false); |
+ int layoutId = hasMenuButton ? |
+ R.layout.dismiss_button_menu_item : R.layout.title_button_menu_item; |
+ convertView = mInflater.inflate(layoutId, parent, false); |
holder.title = (TextView) convertView.findViewById(R.id.title); |
holder.button = (ImageButton) convertView.findViewById(R.id.button); |
+ |
+ View animatedView = hasMenuButton ? holder.title : convertView; |
+ |
convertView.setTag(holder); |
convertView.setTag(R.id.menu_item_enter_anim_id, |
- buildStandardItemEnterAnimator(convertView, position)); |
+ buildStandardItemEnterAnimator(animatedView, position)); |
} else { |
holder = (TitleButtonMenuItemViewHolder) convertView.getTag(); |
} |
@@ -315,7 +321,8 @@ class AppMenuAdapter extends BaseAdapter { |
* @return The {@link Animator}. |
*/ |
private Animator buildIconItemEnterAnimator(final ImageView[] views, boolean skipLastItem) { |
- final float offsetXPx = ENTER_STANDARD_ITEM_OFFSET_X_DP * mDpToPx; |
+ final boolean rtl = LocalizationUtils.isLayoutRtl(); |
+ final float offsetXPx = ENTER_STANDARD_ITEM_OFFSET_X_DP * mDpToPx * (rtl ? -1.f : 1.f); |
final int maxViewsToAnimate = views.length - (skipLastItem ? 1 : 0); |
AnimatorSet animation = new AnimatorSet(); |