Commit f32a232b authored by ramyasharma's avatar ramyasharma Committed by Commit bot

If page is untranslated and the user chooses "Always", translate the page.

When user selects "Always translate page", if the page is untranslated,
then translate the page, and make UI changes to indicate selected
tab on the infobar.

BUG=724670

Review-Url: https://codereview.chromium.org/2899663002
Cr-Commit-Position: refs/heads/master@{#473778}
parent 4c535159
...@@ -460,11 +460,16 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected ...@@ -460,11 +460,16 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected
private void handleTranslateOptionPostSnackbar(int actionId) { private void handleTranslateOptionPostSnackbar(int actionId) {
switch (actionId) { switch (actionId) {
case ACTION_OVERFLOW_ALWAYS_TRANSLATE: case ACTION_OVERFLOW_ALWAYS_TRANSLATE:
toggleAlwaysTranslate();
// Start translating if always translate is selected and if page is not already
// translated to the target language.
if (mOptions.alwaysTranslateLanguageState()
&& mTabLayout.getSelectedTabPosition() == SOURCE_TAB_INDEX) {
startTranslating(mTabLayout.getSelectedTabPosition());
}
return;
case ACTION_AUTO_ALWAYS_TRANSLATE: case ACTION_AUTO_ALWAYS_TRANSLATE:
mOptions.toggleAlwaysTranslateLanguageState( toggleAlwaysTranslate();
!mOptions.alwaysTranslateLanguageState());
nativeApplyBoolTranslateOption(mNativeTranslateInfoBarPtr,
TranslateOption.ALWAYS_TRANSLATE, mOptions.alwaysTranslateLanguageState());
return; return;
case ACTION_OVERFLOW_NEVER_LANGUAGE: case ACTION_OVERFLOW_NEVER_LANGUAGE:
case ACTION_AUTO_NEVER_LANGUAGE: case ACTION_AUTO_NEVER_LANGUAGE:
...@@ -482,6 +487,12 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected ...@@ -482,6 +487,12 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected
} }
} }
private void toggleAlwaysTranslate() {
mOptions.toggleAlwaysTranslateLanguageState(!mOptions.alwaysTranslateLanguageState());
nativeApplyBoolTranslateOption(mNativeTranslateInfoBarPtr, TranslateOption.ALWAYS_TRANSLATE,
mOptions.alwaysTranslateLanguageState());
}
private static void recordInfobarAction(int action) { private static void recordInfobarAction(int action) {
RecordHistogram.recordEnumeratedHistogram( RecordHistogram.recordEnumeratedHistogram(
INFOBAR_HISTOGRAM, action, INFOBAR_HISTOGRAM_BOUNDARY); INFOBAR_HISTOGRAM, action, INFOBAR_HISTOGRAM_BOUNDARY);
......
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