14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)package org.chromium.chrome.browser.infobar; 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)import android.content.Context; 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)import android.widget.CheckBox; 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)import android.widget.CompoundButton; 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)import org.chromium.chrome.R; 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)/** 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) * A check box used to determine if a page should always be translated. 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) */ 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)public class TranslateCheckBox { 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private final SubPanelListener mListener; 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private final TranslateOptions mOptions; 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public TranslateCheckBox(TranslateOptions options, SubPanelListener listener) { 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mOptions = options; 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mListener = listener; 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public void createContent(Context context, InfoBarLayout layout) { 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) CheckBox checkBox = new CheckBox(context); 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) checkBox.setId(R.id.infobar_extra_check); 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) checkBox.setText(context.getString(R.string.translate_always_text, 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mOptions.sourceLanguage())); 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) checkBox.setChecked(mOptions.alwaysTranslateLanguageState()); 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) @Override 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public void onCheckedChanged(CompoundButton view, boolean isChecked) { 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mOptions.toggleAlwaysTranslateLanguageState(isChecked); 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) if (isChecked) { 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mListener.onPanelClosed(InfoBar.ACTION_TYPE_NONE); 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } else { 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) mListener.onOptionsChanged(); 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) }); 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) layout.addGroup(checkBox); 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 44