summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordfalcantara@chromium.org <dfalcantara@chromium.org>2015-09-04 10:14:50 -0700
committerdfalcantara@chromium.org <dfalcantara@chromium.org>2015-09-04 17:15:55 +0000
commitef3540b43eec9456718be444cd0f4be3a0bd7014 (patch)
tree4f14746e4601ba292d5de44402d013c2a0bf23ef
parentf2a1afc7983e92aebcca83c9394a3b7bf2c3fba5 (diff)
downloadchromium_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}
-rw-r--r--chrome/android/java/res/layout/infobar_spinner_item.xml18
-rw-r--r--chrome/android/java/res/values/dimens.xml2
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateLanguagePanel.java14
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;
}