// Copyright 2015 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. package org.chromium.chrome.browser.infobar; import android.content.Context; import org.chromium.chrome.R; /** * Options panel shown in the after translate infobar. */ public class TranslateAlwaysPanel implements TranslateSubPanel { private final TranslateOptions mOptions; private final SubPanelListener mListener; TranslateAlwaysPanel(SubPanelListener listener, TranslateOptions options) { mOptions = options; mListener = listener; } @Override public void createContent(Context context, InfoBarLayout layout) { layout.setMessage(context.getString( R.string.translate_infobar_translation_done, mOptions.targetLanguageName())); if (!mOptions.triggeredFromMenu()) { createAlwaysToggle(layout, mOptions); } layout.setButtons(context.getString(R.string.translate_button_done), context.getString(R.string.translate_show_original)); } @Override public void onButtonClicked(boolean primary) { if (primary) { mListener.onPanelClosed(ActionType.NONE); } else { mListener.onPanelClosed(ActionType.TRANSLATE_SHOW_ORIGINAL); } } /** * Creates a toggle that shows the current status of the "Always translate <language>" option. */ static void createAlwaysToggle(InfoBarLayout layout, TranslateOptions options) { InfoBarControlLayout controlLayout = layout.addControlLayout(); String description = layout.getContext().getString( R.string.translate_always_text, options.sourceLanguageName()); controlLayout.addSwitch(0, 0, description, R.id.translate_infobar_always_toggle, options.alwaysTranslateLanguageState()); } }