diff options
author | dfalcantara@chromium.org <dfalcantara@chromium.org> | 2015-09-04 10:14:50 -0700 |
---|---|---|
committer | dfalcantara@chromium.org <dfalcantara@chromium.org> | 2015-09-04 17:15:55 +0000 |
commit | ef3540b43eec9456718be444cd0f4be3a0bd7014 (patch) | |
tree | 4f14746e4601ba292d5de44402d013c2a0bf23ef | |
parent | f2a1afc7983e92aebcca83c9394a3b7bf2c3fba5 (diff) | |
download | chromium_src-ef3540b43eec9456718be444cd0f4be3a0bd7014.zip chromium_src-ef3540b43eec9456718be444cd0f4be3a0bd7014.tar.gz chromium_src-ef3540b43eec9456718be444cd0f4be3a0bd7014.tar.bz2 |
Prevent TranslateInfoBars from crashing when changing languages
* Works around an AppCompat crash by not using a custom TextView
when creating the drop down list.
* Removes spacing, but keeps the background as white (the default
AppCompat TextView background color is the drab gray). Confirmed
with rolfe@ that this is alright.
BUG=523186
TBR=aurimas
Original Review URL: https://codereview.chromium.org/1305373003
Original Cr-Commit-Position: refs/heads/master@{#346037}
Review URL: https://codereview.chromium.org/1330673003 .
Cr-Commit-Position: refs/branch-heads/2454@{#449}
Cr-Branched-From: 12bfc3360892ec53cd00fc239a47e5298beb063b-refs/heads/master@{#338390}
3 files changed, 5 insertions, 29 deletions
diff --git a/chrome/android/java/res/layout/infobar_spinner_item.xml b/chrome/android/java/res/layout/infobar_spinner_item.xml deleted file mode 100644 index e302258..0000000 --- a/chrome/android/java/res/layout/infobar_spinner_item.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright 2013 The Chromium Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. ---> - -<TextView xmlns:android="http://schemas.android.com/apk/res/android" - android:gravity="center_vertical" - android:maxLines="1" - android:minHeight="@dimen/infobar_touch_target_height" - android:paddingBottom="@dimen/infobar_margin" - android:paddingStart="@dimen/infobar_margin" - android:paddingEnd="@dimen/infobar_margin" - android:paddingTop="@dimen/infobar_margin" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="@dimen/infobar_text_size" - android:textColor="@color/default_text_color" /> diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml index 4085be2..ea9d9c3 100644 --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml @@ -68,8 +68,6 @@ <dimen name="infobar_min_width">220dp</dimen> <!-- Margin between items in an infobar. --> <dimen name="infobar_margin">16dp</dimen> - <!-- Minimum height for a touch target. --> - <dimen name="infobar_touch_target_height">40dp</dimen> <!-- Width and height of the infobar icon. --> <dimen name="infobar_icon_size">36dp</dimen> diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateLanguagePanel.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateLanguagePanel.java index 33b66a9..3e86b16 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateLanguagePanel.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateLanguagePanel.java @@ -221,16 +221,12 @@ public class TranslateLanguagePanel @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { - TextView result; - if (!(convertView instanceof TextView)) { - result = (TextView) LayoutInflater.from(getContext()).inflate( - R.layout.infobar_spinner_item, null); - } else { - result = (TextView) convertView; + View result = super.getDropDownView(position, convertView, parent); + result.setBackgroundColor( + getContext().getResources().getColor(R.color.infobar_background)); + if (result instanceof TextView) { + ((TextView) result).setText(getItem(position).toString()); } - - String language = getItem(position).toString(); - result.setText(language); return result; } |