| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 package org.chromium.chrome.browser.preferences.website; | |
| 6 | |
| 7 import android.content.Context; | |
| 8 import android.os.Bundle; | |
| 9 import android.preference.Preference; | |
| 10 import android.preference.Preference.OnPreferenceChangeListener; | |
| 11 import android.preference.PreferenceFragment; | |
| 12 import android.view.Menu; | |
| 13 import android.view.MenuInflater; | |
| 14 import android.view.MenuItem; | |
| 15 | |
| 16 import org.chromium.chrome.R; | |
| 17 import org.chromium.chrome.browser.help.HelpAndFeedback; | |
| 18 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; | |
| 19 import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate; | |
| 20 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | |
| 21 import org.chromium.chrome.browser.profiles.Profile; | |
| 22 import org.chromium.ui.widget.Toast; | |
| 23 | |
| 24 /** | |
| 25 * Fragment to keep track of the translate preferences. | |
| 26 */ | |
| 27 public class LanguagePreferences extends PreferenceFragment { | |
| 28 | |
| 29 private static final String PREF_TRANSLATE_CHECKBOX = "translate_checkbox"; | |
| 30 public static final String PREF_AUTO_DETECT_CHECKBOX = "auto_detect_encoding
_checkbox"; | |
| 31 | |
| 32 @Override | |
| 33 public void onCreate(Bundle savedInstanceState) { | |
| 34 super.onCreate(savedInstanceState); | |
| 35 addPreferencesFromResource(R.xml.language_preferences); | |
| 36 getActivity().setTitle(R.string.language); | |
| 37 setHasOptionsMenu(true); | |
| 38 | |
| 39 final Context context = getActivity(); | |
| 40 if (context == null) return; | |
| 41 | |
| 42 ChromeBaseCheckBoxPreference translateCheckBox = | |
| 43 (ChromeBaseCheckBoxPreference) findPreference(PREF_TRANSLATE_CHE
CKBOX); | |
| 44 | |
| 45 boolean isTranslateEnabled = PrefServiceBridge.getInstance().isTranslate
Enabled(); | |
| 46 translateCheckBox.setChecked(isTranslateEnabled); | |
| 47 | |
| 48 translateCheckBox.setOnPreferenceChangeListener(new OnPreferenceChangeLi
stener() { | |
| 49 @Override | |
| 50 public boolean onPreferenceChange(Preference preference, Object newV
alue) { | |
| 51 PrefServiceBridge.getInstance().setTranslateEnabled((boolean) ne
wValue); | |
| 52 return true; | |
| 53 } | |
| 54 }); | |
| 55 translateCheckBox.setManagedPreferenceDelegate(new ManagedPreferenceDele
gate() { | |
| 56 @Override | |
| 57 public boolean isPreferenceControlledByPolicy(Preference preference)
{ | |
| 58 return PrefServiceBridge.getInstance().isTranslateManaged(); | |
| 59 } | |
| 60 }); | |
| 61 | |
| 62 ChromeBaseCheckBoxPreference autoDetectCheckBox = | |
| 63 (ChromeBaseCheckBoxPreference) findPreference(PREF_AUTO_DETECT_C
HECKBOX); | |
| 64 | |
| 65 boolean isAutoDetectEncodingEnabled = | |
| 66 PrefServiceBridge.getInstance().isAutoDetectEncodingEnabled(); | |
| 67 autoDetectCheckBox.setChecked(isAutoDetectEncodingEnabled); | |
| 68 | |
| 69 autoDetectCheckBox.setOnPreferenceChangeListener(new OnPreferenceChangeL
istener() { | |
| 70 @Override | |
| 71 public boolean onPreferenceChange(Preference preference, Object newV
alue) { | |
| 72 PrefServiceBridge.getInstance().setAutoDetectEncodingEnabled((bo
olean) newValue); | |
| 73 return true; | |
| 74 } | |
| 75 }); | |
| 76 } | |
| 77 | |
| 78 @Override | |
| 79 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { | |
| 80 menu.clear(); | |
| 81 MenuItem help = menu.add( | |
| 82 Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_
help); | |
| 83 help.setIcon(R.drawable.ic_help_and_feedback); | |
| 84 help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); | |
| 85 | |
| 86 menu.add(Menu.NONE, R.id.menu_id_reset, Menu.NONE, R.string.reset_transl
ate_defaults); | |
| 87 } | |
| 88 | |
| 89 @Override | |
| 90 public boolean onOptionsItemSelected(MenuItem item) { | |
| 91 int itemId = item.getItemId(); | |
| 92 if (itemId == R.id.menu_id_targeted_help) { | |
| 93 HelpAndFeedback.getInstance(getActivity()) | |
| 94 .show(getActivity(), getString(R.string.help_context_transla
te), | |
| 95 Profile.getLastUsedProfile(), null); | |
| 96 return true; | |
| 97 } else if (itemId == R.id.menu_id_reset) { | |
| 98 PrefServiceBridge.getInstance().resetTranslateDefaults(); | |
| 99 Toast.makeText(getActivity(), getString( | |
| 100 R.string.translate_prefs_toast_description), | |
| 101 Toast.LENGTH_SHORT).show(); | |
| 102 return true; | |
| 103 } | |
| 104 return false; | |
| 105 } | |
| 106 } | |
| OLD | NEW |