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 @@
package org.chromium.chrome.browser.infobar;
import android.support.design.widget.TabLayout;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
......@@ -42,6 +43,7 @@ public class TranslateCompactInfoBar extends InfoBar
public static final int ACTION_AUTO_NEVER_LANGUAGE = 4;
private final int mInitialStep;
private final int mDefaultTextColor;
private final TranslateOptions mOptions;
private long mNativeTranslateInfoBarPtr;
......@@ -157,18 +159,20 @@ public class TranslateCompactInfoBar extends InfoBar
@CalledByNative
private static InfoBar create(int initialStep, String sourceLanguageCode,
String targetLanguageCode, boolean alwaysTranslate, boolean triggeredFromMenu,
String[] languages, String[] languageCodes, int[] hashCodes) {
String[] languages, String[] languageCodes, int[] hashCodes, int tabTextColor) {
recordInfobarAction(INFOBAR_IMPRESSION);
return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targetLanguageCode,
alwaysTranslate, triggeredFromMenu, languages, languageCodes, hashCodes);
alwaysTranslate, triggeredFromMenu, languages, languageCodes, hashCodes,
tabTextColor);
}
TranslateCompactInfoBar(int initialStep, String sourceLanguageCode, String targetLanguageCode,
boolean alwaysTranslate, boolean triggeredFromMenu, String[] languages,
String[] languageCodes, int[] hashCodes) {
String[] languageCodes, int[] hashCodes, int tabTextColor) {
super(R.drawable.infobar_translate_compact, null, null);
mInitialStep = initialStep;
mDefaultTextColor = tabTextColor;
mOptions = TranslateOptions.create(sourceLanguageCode, targetLanguageCode, languages,
languageCodes, alwaysTranslate, triggeredFromMenu, hashCodes);
}
......@@ -196,6 +200,11 @@ public class TranslateCompactInfoBar extends InfoBar
});
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());
// Set translating status in the beginning for pages translated automatically.
......
......@@ -33,6 +33,7 @@ const char kTranslateMaxNumberOfAutoAlways[] =
"translate_max_number_of_auto_always";
const char kTranslateMaxNumberOfAutoNever[] =
"translate_max_number_of_auto_never";
const char kTranslateTabDefaultTextColor[] = "translate_tab_default_text_color";
// TranslateInfoBar -----------------------------------------------------------
......@@ -72,7 +73,7 @@ ScopedJavaLocalRef<jobject> TranslateCompactInfoBar::CreateRenderInfoBar(
env, delegate->translate_step(), source_language_code,
target_language_code, delegate->ShouldAlwaysTranslate(),
delegate->triggered_from_menu(), java_languages, java_codes,
java_hash_codes);
java_hash_codes, TabDefaultTextColor());
}
void TranslateCompactInfoBar::ProcessButton(int action) {
......@@ -229,6 +230,10 @@ int TranslateCompactInfoBar::MaxNumberOfAutoNever() {
return GetParam(kTranslateMaxNumberOfAutoNever, kDefaultMaxNumberOfAutoNever);
}
int TranslateCompactInfoBar::TabDefaultTextColor() {
return GetParam(kTranslateTabDefaultTextColor, 0);
}
translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() {
return delegate()->AsTranslateInfoBarDelegate();
}
......
......@@ -82,6 +82,10 @@ class TranslateCompactInfoBar
// This is the maximum number of times to trigger "Never Translate"
// automatically.
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();
......
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