Commit 4af17aad authored by Leo Zhang's avatar Leo Zhang Committed by Commit Bot

Make TabLayout text color finchable.

Our PM wants to make the font color of the non-selected language
finch-able to figure out a path forward with making the font darker.
Group 1 will be the default color and group 2 will be the 87% black.

I created the params with our feature TranslateCompactUI and tested by
'--force-fieldtrials=TranslateCompactUI/Enabled --force-fieldtrial-params
=TranslateCompactUI.Enabled:translate_tab_default_text_color/1'

Bug: 771835
Change-Id: I0d2d4eea3707685b45b83e5d7d4079fa855deecd
Reviewed-on: https://chromium-review.googlesource.com/701994Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Commit-Queue: Leo Zhang <googleo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506956}
parent b1007d42
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.infobar; package org.chromium.chrome.browser.infobar;
import android.support.design.widget.TabLayout; import android.support.design.widget.TabLayout;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
...@@ -42,6 +43,7 @@ public class TranslateCompactInfoBar extends InfoBar ...@@ -42,6 +43,7 @@ public class TranslateCompactInfoBar extends InfoBar
public static final int ACTION_AUTO_NEVER_LANGUAGE = 4; public static final int ACTION_AUTO_NEVER_LANGUAGE = 4;
private final int mInitialStep; private final int mInitialStep;
private final int mDefaultTextColor;
private final TranslateOptions mOptions; private final TranslateOptions mOptions;
private long mNativeTranslateInfoBarPtr; private long mNativeTranslateInfoBarPtr;
...@@ -157,18 +159,20 @@ public class TranslateCompactInfoBar extends InfoBar ...@@ -157,18 +159,20 @@ public class TranslateCompactInfoBar extends InfoBar
@CalledByNative @CalledByNative
private static InfoBar create(int initialStep, String sourceLanguageCode, private static InfoBar create(int initialStep, String sourceLanguageCode,
String targetLanguageCode, boolean alwaysTranslate, boolean triggeredFromMenu, String targetLanguageCode, boolean alwaysTranslate, boolean triggeredFromMenu,
String[] languages, String[] languageCodes, int[] hashCodes) { String[] languages, String[] languageCodes, int[] hashCodes, int tabTextColor) {
recordInfobarAction(INFOBAR_IMPRESSION); recordInfobarAction(INFOBAR_IMPRESSION);
return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targetLanguageCode, return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targetLanguageCode,
alwaysTranslate, triggeredFromMenu, languages, languageCodes, hashCodes); alwaysTranslate, triggeredFromMenu, languages, languageCodes, hashCodes,
tabTextColor);
} }
TranslateCompactInfoBar(int initialStep, String sourceLanguageCode, String targetLanguageCode, TranslateCompactInfoBar(int initialStep, String sourceLanguageCode, String targetLanguageCode,
boolean alwaysTranslate, boolean triggeredFromMenu, String[] languages, boolean alwaysTranslate, boolean triggeredFromMenu, String[] languages,
String[] languageCodes, int[] hashCodes) { String[] languageCodes, int[] hashCodes, int tabTextColor) {
super(R.drawable.infobar_translate_compact, null, null); super(R.drawable.infobar_translate_compact, null, null);
mInitialStep = initialStep; mInitialStep = initialStep;
mDefaultTextColor = tabTextColor;
mOptions = TranslateOptions.create(sourceLanguageCode, targetLanguageCode, languages, mOptions = TranslateOptions.create(sourceLanguageCode, targetLanguageCode, languages,
languageCodes, alwaysTranslate, triggeredFromMenu, hashCodes); languageCodes, alwaysTranslate, triggeredFromMenu, hashCodes);
} }
...@@ -196,6 +200,11 @@ public class TranslateCompactInfoBar extends InfoBar ...@@ -196,6 +200,11 @@ public class TranslateCompactInfoBar extends InfoBar
}); });
mTabLayout = (TranslateTabLayout) content.findViewById(R.id.translate_infobar_tabs); mTabLayout = (TranslateTabLayout) content.findViewById(R.id.translate_infobar_tabs);
if (mDefaultTextColor > 0) {
mTabLayout.setTabTextColors(
ContextCompat.getColor(getContext(), R.color.black_alpha_87),
ContextCompat.getColor(getContext(), R.color.infobar_accent_blue));
}
mTabLayout.addTabs(mOptions.sourceLanguageName(), mOptions.targetLanguageName()); mTabLayout.addTabs(mOptions.sourceLanguageName(), mOptions.targetLanguageName());
// Set translating status in the beginning for pages translated automatically. // Set translating status in the beginning for pages translated automatically.
......
...@@ -33,6 +33,7 @@ const char kTranslateMaxNumberOfAutoAlways[] = ...@@ -33,6 +33,7 @@ const char kTranslateMaxNumberOfAutoAlways[] =
"translate_max_number_of_auto_always"; "translate_max_number_of_auto_always";
const char kTranslateMaxNumberOfAutoNever[] = const char kTranslateMaxNumberOfAutoNever[] =
"translate_max_number_of_auto_never"; "translate_max_number_of_auto_never";
const char kTranslateTabDefaultTextColor[] = "translate_tab_default_text_color";
// TranslateInfoBar ----------------------------------------------------------- // TranslateInfoBar -----------------------------------------------------------
...@@ -72,7 +73,7 @@ ScopedJavaLocalRef<jobject> TranslateCompactInfoBar::CreateRenderInfoBar( ...@@ -72,7 +73,7 @@ ScopedJavaLocalRef<jobject> TranslateCompactInfoBar::CreateRenderInfoBar(
env, delegate->translate_step(), source_language_code, env, delegate->translate_step(), source_language_code,
target_language_code, delegate->ShouldAlwaysTranslate(), target_language_code, delegate->ShouldAlwaysTranslate(),
delegate->triggered_from_menu(), java_languages, java_codes, delegate->triggered_from_menu(), java_languages, java_codes,
java_hash_codes); java_hash_codes, TabDefaultTextColor());
} }
void TranslateCompactInfoBar::ProcessButton(int action) { void TranslateCompactInfoBar::ProcessButton(int action) {
...@@ -229,6 +230,10 @@ int TranslateCompactInfoBar::MaxNumberOfAutoNever() { ...@@ -229,6 +230,10 @@ int TranslateCompactInfoBar::MaxNumberOfAutoNever() {
return GetParam(kTranslateMaxNumberOfAutoNever, kDefaultMaxNumberOfAutoNever); return GetParam(kTranslateMaxNumberOfAutoNever, kDefaultMaxNumberOfAutoNever);
} }
int TranslateCompactInfoBar::TabDefaultTextColor() {
return GetParam(kTranslateTabDefaultTextColor, 0);
}
translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() { translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() {
return delegate()->AsTranslateInfoBarDelegate(); return delegate()->AsTranslateInfoBarDelegate();
} }
......
...@@ -82,6 +82,10 @@ class TranslateCompactInfoBar ...@@ -82,6 +82,10 @@ class TranslateCompactInfoBar
// This is the maximum number of times to trigger "Never Translate" // This is the maximum number of times to trigger "Never Translate"
// automatically. // automatically.
int MaxNumberOfAutoNever(); int MaxNumberOfAutoNever();
// Get the value of the finch parameter: translate_tab_default_text_color.
// Default value is 0, which means using TabLayout default color.
// If it's not 0, we will set the text color manually based on the value.
int TabDefaultTextColor();
translate::TranslateInfoBarDelegate* GetDelegate(); translate::TranslateInfoBarDelegate* GetDelegate();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment